Just an aside,

Here is an example of the Business Tier code that should be consolidated
either into a DDD Repository object or some business tier (Command
Framework) that would be used in common across all Webapps and CLI such
that any UI can consistently produce the same result when creating
Communities.

Basic Community creation logic
https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/content/Community.java#L179

In JSPUI
https://github.com/DSpace/DSpace/blob/master/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/admin/EditCommunitiesServlet.java#L206
https://github.com/DSpace/DSpace/blob/master/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/admin/EditCommunitiesServlet.java#L476

In XMLUI
https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/administrative/FlowContainerUtils.java#L830

In WEBMVC
https://github.com/DSpace/webmvc/blob/master/webmvc-api/src/main/java/org/dspace/webmvc/controller/admin/CommunityController.java#L75

In REST
https://github.com/DSpace/dspace-rest/blob/master/src/main/java/org/dspace/rest/entities/CommunityEntity.java#L461

REST gets us closest to a set of overridable logic because it leaves the
static Manager paradigm behind.

Note a DDD Repository (http://domaindrivendesign.org/node/123) could easily
be behind the static factory methods exposed in the Community API.  Use of
Spring for wiring of DAO/Repository methods for Creating a Provider for
creation of Communities (Robin Taylors current track of work) provides us
with a lightweight mechanism to override instantiation logic across all
applications.

Once the DAO is properly encapsulating CRUD to create Communities, the
Community class then becomes its own DDD Repository.  Allowing applications
to override the Repository (IE not by hacking Community.java in the source
or by overriding it on the classpath, but instead by properly using
configuration and wiring to insert ones own provider or a separate service
object).  This design, would then allow this user to significantly alter
the underlying behavior of what happens on Community creation
without necessarily needing to alter UI centric code. As long as the
Provider API contract is maintained, we then have a means to allow flexible
alteration with predictable interfaces that can maintain
backwards compatibility across releases.

Mark

On Thu, Jun 14, 2012 at 3:25 PM, helix84 <[email protected]> wrote:

> Hi César,
>
> I'm not sure if it's what you're looking for because I'm not very
> familiar with JSPUI, but I looked for it this way:
>
> The URL to create a community is /admin/community?createNew
> In
> dspace-xmlui/dspace-xmlui-api/src/main/resources/aspects/Administrative/sitemap.xmap:222
> the createNew parameter is mapped to the startCreateCollection() function
> in
>
> dspace-xmlui/dspace-xmlui-api/src/main/resources/aspects/Administrative/administrative.js:547
> which in turn calls doCreateCollection() in the same file, which
> issues a request to
> /admin/collection/createCollection which is then mapped in
> sitemap.xmap:730 to
> CreateCollectionForm. Is this what you're looking for?
>
> Regards,
> ~~helix84
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>

Hello,
> I'm trying to customize the Community and Collection creation for XMLUI in
> DSpace 1.8. I'm trying to find the code that does all the heavy lifting but
> all I've found are this steps:
>  org.dspace.app.xmlui.aspect.administrative.collection.CreateCollectionForm
>  org.dspace.app.xmlui.aspect.administrative.community.CreateCommunityForm
> but what I'm looking for is the "equivalent" for XMLUI for this JSPUI
> classes:
> org.dspace.app.webui.servlet.admin.CollectionWizardServlet
> org.dspace.app.webui.servlet.admin.EditCommunitiesServlet
> Where can I find such processing for XMLUI? I couldn't manage to find a
> servlet mapping or something that leads me to that classes. Would be good
> to know if there is a "method" for that too :-).
> Cheers,
> César


-- 
[image: @mire Inc.]
*Mark Diggory *(Schedule a Meeting <https://tungle.me/markdiggory>)
*2888 Loker Avenue East, Suite 305, Carlsbad, CA. 92010*
*Esperantolaan 4, Heverlee 3001, Belgium*
http://www.atmire.com
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to