roller-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shervin Asgari <sher...@linpro.no>
Subject New version of multidomain in roller
Date Fri, 14 Jul 2006 09:04:41 GMT
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, @: shervin@linpro.no
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/


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message