Hello,
This is no particular issue I'm addressing here, just wanted to get
possibly some feedbacks on the app I'm developing, considering virtual
mode. Also not from a technical point of view (though it's impacting of
course), more on best way to make use of XWiki.
It's for the Mail Archive :)
Currently I provide components and 1 UI, to administrate, operate (email
loading) and navigate (livetables, stats) a Mail Archive.
Focusing on UI, the whole app is inside xwiki-contrib-mailarchive-ui.
The use-case I would like to allow/improve, is of someone wanting to create
"isolate" different mail archives / mailing-lists in different subwikis.
The first thing I did (and that works), is duplicate the whole app in each
sub-wiki (after fixing some issues caused by being in a sub-wiki).
My next move would be to separate the administration:
xwiki-contrib-mailarchive-admin-ui
xwiki-contrib-mailarchive-ui
The idea would be to install admin/operate part once for all, and install
the "navigation" app in each needed sub-wiki.
To allow that, "navigation" xar cannot depend on "admin" (or it would
install "admin" everywhere), and "admin" could depend on
"navigation", for
the unique wiki use-case.
Means that it's the admin that should be installed in mono-wiki mode, and
this is a bit weird I think for users. Or I could say that both should be
installed, up to you to decide where you install what (but logically you
install "admin" in main wiki and "navigation" in main or sub-
wiki(s)).
Of course the concept is that the "administration" UI takes into account
the possibility of wanting to use multiple sub-wikis, and allows the user
defining what is the destination of created mails pages for each
mailing-list (ie, the main wiki, or a specific sub-wiki).
Then there's the case of all the XClass pages.
Because they are needed for the "navigation" (along with Sheets and so on),
but to restrict number of pages created, it would seem good to create those
once for all in the main wiki, and just "use" them from the sub-wikis mail
archive pages (home, topic, mail, ...).
Doing that, the "navigation" app would be very minimal (not much more than
a home page in fact).
To simplify I could add them to the "admin" app, but what I do not like is
that logically they are not part of the admin. In fact they could be seen
as a third UI, a technical one, dedicated to "wiki-storage-mapping" (sorry
for that name, hope you get the point, if you're still reading this).
Logically both "admin" and "navigation" should have a dependency on
"storage", but to follow primary optimization purpose only "admin"
should
mark this dependency.
So:
"admin" --> "navigation"
"admin" --> "storage"
WDYT ? (apart from, "this mail is way too long").
I'm asking, because I'm not sure I'm taking it the right way. I'm also
not
sure, if following this I'm not going to create some coding hell :)
(another topic for me would be to plug my admin part into the xwiki admin
UI, but I'm also afraid of the amount of work...)
Thanks,
Jeremie