Hello developers.
We have developed a new version of the multidomain with some new changes. We have added a new role called domainadministrator. The domainadministrator can now administer his own domain. We have also added some editor functionality.

The new patch can be downloaded here. If you just want to quickly check out what we have made, then I have the whole roller 2.1 + multidomain sourcecode present. Just use your exisiting web server and run build after changing ant.properties and the other necessary changes, and it should be ready for reviewing.

http://users.linpro.no/~kjellm/roller-src-multidomain.tar.bz2
http://users.linpro.no/~kjellm/roller-patches.tar.bz2

This will be the last version we commit this summer. Hope for some feedback during summer.


Below is the CAVEATS from the previous text in an updated form.

CAVEATS

This solution is now considered to be in a production ready state. But there
are still things that could be improved.

(THIS SOLUTION IS NOW FINISHED)
The most urgent need for improvement is to add a new administration level for
domain administrators. This could be done by adding a new userrole called
"domainadmin". A domain administrator would then be associated with his domain
through domainuser, and with the role through userrole. A user with these
associations whould then be able to administer what blogs are available in his
domain. This job is now left to a central administrator.

(THIS PART STILL REMAINS)
The procedure to create a new domain with a set of blogs is now to create the users as the administrator user, create blogs for these users, create the new domain and associate the blogs with the domain. This is quite time consuming,
as the administrator needs to go through many different web forms. And login
as the created users to create the blogs for them. This procedure needs to be
simplified so the administrator can just create the domain and a domain
administrator. The domain administrator must then be able to create new blogs
with a new user as owner in one simplified form, where all the administrator
needs to enter is User full name, email-address (used as username), password, Name of blog and handle. The rest will get default values which can be changed
by the users at a later time.

(THIS SOLUTION IS NOW FINISHED)
There is also a need for a domain editor. The news papers have legal
responsibility for the content they publish. The editor for the news paper
must therefore be able to remove or edit entries in any blog under his
domain in case a blog contains material that could result in legal issues.


THE PATCHES USED IN THIS SOLUTION

Patches that enable URLs to be rewritten:

(Add context to be used later for URL rewrite)
./src/org/roller/presentation/search/SearchServlet.java.patch

(Rewrite URLs)
./src/org/roller/presentation/weblog/tags/WeblogCalendarModel.java.patch
./src/org/roller/presentation/weblog/tags/BigWeblogCalendarModel.java.patch
./src/org/roller/presentation/website/actions/UploadFileFormAction.java.patch
./web/theme/bannerStatus.jsp.patch
./web/WEB-INF/classes/navbar.vm.patch
./web/WEB-INF/classes/searchresults_day.vm.patch
./web/WEB-INF/classes/searchresults.vm.patch
./web/WEB-INF/classes/website.vm.patch
./web/WEB-INF/classes/flavors/rss.vm.patch
./web/WEB-INF/classes/comments.vm.patch
./web/WEB-INF/classes/rssmacros.vm.patch
./web/WEB-INF/classes/weblog.vm.patch
./web/weblog/WeblogEdit.jsp.patch
./web/weblog/WeblogQuery.jsp.patch
./web/weblog/CommentManagement.jsp.patch
./web/website/UploadFile.jsp.patch
./web/website/YourWebsites.jsp.patch

(Rewrite URLs and make description translatable:)
./contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/ReadMorePlugin.java.patch

----------------------------------------------------------------------
Patches that add new tables and a domain manager (DB stuff):

(Add the new database tables:)
./metadata/database/droptables.sql.patch
./metadata/database/createdb.vm.patch
./metadata/database/hibernate/hibernate.cfg.xml.patch
./src/org/roller/pojos/DomainWebsiteData.java
./src/org/roller/pojos/DomainData.java
./src/org/roller/pojos/DomainUserData.java
./src/org/roller/pojos/DomainAdministratorData.java

(Add DomainManager:)
./src/org/roller/model/Roller.java.patch
./src/org/roller/model/DomainManager.java
./src/org/roller/business/DomainManagerImpl.java
./src/org/roller/business/RollerImpl.java.patch
./src/org/roller/business/hibernate/HibernateRollerImpl.java.patch
./src/org/roller/business/hibernate/HibernateDomainManagerImpl.java

----------------------------------------------------------------------
Patches that enable the use of the domain model (ie. filter incoming requests
under /domain/ and rewrite URLs on the way out:

(A servlet filter to filter incoming domain requests, with helper classes:)
./src/org/roller/presentation/filters/DomainFilter.java
./src/org/roller/presentation/filters/DomainFilterRequestWrapper.java
./src/org/roller/presentation/filters/DomainFilterResponseWrapper.java
./src/org/roller/util/DomainUtil.java

(Rewrite outgoing URLs:)
./contrib/lib/urlrewrite-2.6.0.jar
./web/WEB-INF/urlrewrite.xml
./metadata/xdoclet/filters.xml.patch
./metadata/xdoclet/filter-mappings.xml.patch

----------------------------------------------------------------------
Patches that add a configuration interface that lets the administrator
administer the domain model:

./src/org/roller/presentation/website/actions/DomainWebsiteAdminAction.java
./src/org/roller/presentation/website/actions/DomainAdminAction.java
./web/website/domainAdminDeleteOK.jsp
./web/website/domainwebsiteAdminEdit.jsp
./web/website/domainAdmin.jsp
./web/website/domainAdminEdit.jsp
./web/website/addDomainAdministrator.jsp
./web/website/addDomainUser.jsp
./web/website/domainEditor.jsp
./web/website/userAdmin.jsp.patch
./web/website/yourWebsitesSidebar.jsp.patch

(Add some constants:)
./src/org/roller/presentation/RollerRequest.java.patch

(Add menu items and bind JSPs to actions:)
./web/WEB-INF/tiles-defs.xml.patch
./web/WEB-INF/admin-menu.xml.patch
./web/WEB-INF/security.xml.patch
./metadata/xdoclet/global-forwards.xml.patch

(New properties used by domain administration interface:)
./web/WEB-INF/classes/ApplicationResources.properties.patch

----------------------------------------------------------------------
General patches used to fix problems we encountered:

(Add norsk and nynorsk as available languages:)
./src/org/roller/presentation/velocity/LanguageServlet.java.patch
./web/WEB-INF/classes/ApplicationResources_nn.properties
./web/WEB-INF/classes/ApplicationResources_no.properties

(Use language from current blog as default:)
./src/org/roller/presentation/LanguageUtil.java.patch

(Use Asynchronous GET when gettin list of users, fixes Firefox bug:)
./web/theme/scripts/ajax-user.js.patch

(Allow 255 character usernames to handle long email addresses:)
./web/website/UserAdmin.jsp.patch


--
Shervin Asgari - System Consultant
M: +47 918 64 148, @: [EMAIL PROTECTED]
Linpro AS - Leading on Linux    Tel: +47 21 54 41 00/02
Vitaminveien 1A        Fax: +47 21 54 41 01
PB 4 Grefsen, 0409 Oslo    WWW: http://www.linpro.no/

Reply via email to