About WebMVC (Freemarker) UI
WebMVC is currently under development, and is creating a new user interface based for DSpace built on top of Spring's WebMVC framework. This has the same goals as the JSPUI rewrite project in providing The goals of the project is to write the user interface in a clean technical implementation, with business logic removed from the presentation layer.
Although a At the presentation/view layer, any number of technologies can be used for the presentation layer, the current implementation focuses on Freemarker - a template based language that restricts the amount of logic that you can place in the presentation layer. In addition, it gives more flexibility as to where those templates can be stored, which gives greater possibilities for future customisation.could have been used including JSP's, however the current implementation in the WebMVC project is to use Freemarker, a templating language.
It has extensive theme support, and allows different themes to be applied to different areas of a repository.
Development is ongoing, and as an open project, it could always use assistance. Fork this project on GitHub, and start contributing today: httphttps://scmgithub.dspace.org/svn/repo/modules/webmvc/trunk/com/DSpace/webmvc
Issue tracking will be done in GitHub Issues.
The old Jira issue tracker for this project is still up, but we are no longer adding issues thereIssue Tracking: https://jira.duraspace.org/browse/DWMVC
This project also has its own GSoC 2011 Student Project: GSoC 2011 - DSpace WebMVC
Getting Started
Add the webmvc module into WebMVC is a module add-on to DSpace. The instructions below will guide you how to check out a stable release of DSpace, and alter it so that it references the WebMVC project into its build process.
Checkout the source code.
Code Block |
---|
mkdir project-webmvc cd ~/project-webmvc svn checkout co httphttp://scm.dspace.org/svn/repo/dspace/tags/dspace-1.7.1/dspace/ svngit clone co httpgit://scmgithub.dspace.orgcom/svnDSpace/repo/modules/webmvc/trunk/ webmvcwebmvc.git |
Edit ~/project-webmvc/dspace/pom.xml and add an entry for webmvc.
Code Block | ||||
---|---|---|---|---|
| ||||
<!-- Builds Overlay Modules for DSpace Index: pom.xml =================================================================== --- pom.xml (revision 6625) +++ pom.xml (working copy) @@ -505,6 +505,7 @@ --> <modules> <module>modules</module> + <module> <module>../webmvc</module> </modules> <build> |
Compile everything, and add the war for freemarkerui to Tomcat
Code Block |
---|
cd ~/project-webmvc/dspace mvn package sudo mkdir /dspace sudo chown dspace:dspace /dspace cd target/dspace-1.7.1-build.dir ant init_configs ant update ## Add the .war to tomcat, there are many ways of doing this. sudo cp cp ~~/project-webmvc/webmvc/freemarkerui-webapp/target/dspace-freemarkerui-webapp-1.7.0-SNAPSHOT.war /var/lib/tomcat6/webapps ## Edit /dspace/config/dspace.cfg to Edit your dspace.cfg to have your bootstrapping database configs (i.e. dbname, password) vi /dspace/config/dspace.cfg /etc/init.d/tomcat6 restarttomcat6 restart |
Test it out in your browser
...
Additionally, WebMVC has multiple themes (Mirage and Kubrick), the default theme is Oasis.