Internet Shop in Ajax: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 38: | Line 38: | ||
Note: Under Gentoo, it is recommended to install all these packages using Portage. Then create symlinks from the Tomcat directories to the actual JARs. | Note: Under Gentoo, it is recommended to install all these packages using Portage. Then create symlinks from the Tomcat directories to the actual JARs. | ||
* You must create the "Shop" database under MySQL. This database will be used by Hibernate. | * You must create the "Shop" database under MySQL. This database will be used by Hibernate. | ||
Line 45: | Line 46: | ||
* Use Ant to package as a WAR. | * Use Ant to package as a WAR. | ||
* The symbolic link from public/images to the actual data directory should be automated by Ant. | * The symbolic link from public/images to the actual data directory should be automated by Ant. | ||
== Build System == | == Build System == |
Revision as of 11:55, 26 April 2007
Ajax Shop Project.
Configuring Tomcat in order to deploy the web application
- Logging must be configured through log4j. A sample log4j.properties file is present in the doc/ directory of the project. Edit it and copy it to {CATALINA_HOME}/common/classes/ log4j.properties. Also install the log4j.jar file (see below).
- The following libraries (JAR files) are needed. Note that some of them may be already present, this depends on your Tomcat distribution. The shared/lib and common/lib distinction is also not essential.
- Requested in WEB-INF/lib in your webapp directory:
- GWT servlet library (gwt-servlet.jar) [only in WEB-INF/lib]
- Requested in shared/lib directory:
- Hibernate library (hibernate3.jar)
- MySQL JDBC driver (jdbc-mysql.jar)
- Dozer library (dozer-3.2.1.jar)
- In addition, you may also have to add the following libraries, which seem to be dependencies of Hibernate:
- DOM4J library (dom4j.jar)
- Code Generation Library (cglib-nodep.jar). If you use the version with dependencies (cglib.jar), you will have to add additional libraries required by cglib (see below)
- Java Transaction API (jta.jar) [this must be downloaded from Sun's site. There is no MacPorts package on OS X.]
- Another Tool for Language Recognition (antlr.jar)
- Code Generation Library Dependencies (incomplete):
- ASM (many JARs, depending on the version of ASM chosen)
- Requested in common/lib directory:
- Apache Commons FileUpload (commons-fileupload.jar)
- Apache Commons IO (commons-io.jar)
- Apache Commons Collections (commons-collections.jar)
- Log4j logging library (log4j.jar) - this is not strictly required as Tomcat can use JDK logging, but log4j is highly recommended
Important Note: Since they are JAR files, put them in lib/, not classes/ !
Warning: Put gwt-servlet.jar in WEB-INF/lib in your webapp directory. Placing this file in shared/lib won't work properly, you will have problems with the classloader (and ClassNotFound exceptions). This seems to be a GWT problem.
Note: Under Gentoo, it is recommended to install all these packages using Portage. Then create symlinks from the Tomcat directories to the actual JARs.
- You must create the "Shop" database under MySQL. This database will be used by Hibernate.
Deployment Improvements
- Use Ant to package as a WAR.
- The symbolic link from public/images to the actual data directory should be automated by Ant.
Build System
- The images directory (in public/) is what I call a "data directory", eg a directory that developers should not modify directly. It should not be under version control. In order for hosted mode to work, two symbolic links are created, in public/ and in build/hosted/tomcat/webapps/root. These two links should point to the actual, physical location of this data directory.
- As we don't want to copy these symlinks (and thus their contents, in fact) to the local development server during deployment, we have to exclude them from the public path when using the GWT Compiler. This is done in the GWT XML modules.
SQL Tables
ShopItem
- ID
- ShopID
- Price
- Name
- Auction / Sale
- Image
- Description
- Status
- DateEntered
ShopCategory
- ShopID
- Name
- ID
- Subcategory (boolean)
Project Management
- Back office creation (simple)
- Rudimentary Search implementation
- Style & Design
- Real payment integration