Hi xwiki devs,
Don't know if it's really the right place, but something strikes me when
re-reading the thread about XWiki development flavor, fosdem feedback from
Ludovic, last extensions posted on
xwiki.org, and my own requests /
use-cases I have in my office ..., and I just wanted to share my thoughts
with no particular expectation.
At least in my office, the "big thing" these days is community building.
The intent to materialize "communities", that could be around subjects as
business interests, technical interests, skills, ...
Currently our difficulty is that we have some "bricks", but they are spread
amongst several tools and not integrated.
For example mailing-lists were defined in mail server (in fact,
distribution lists with owner), the reason why I created the MailArchive
application in first place, to archive these mails somewhere browsable and
searchable.
But when I see the "Newsletter application", the "Meeting
application", the
Workspace feature, I can't help but think that ideally all these
should/could be linked together to materialize that "community" thing.
For example community members could be a ldap or xwiki group of users.
Shared space for the community could be a xwiki Workspace, with workspace
owner as guardian. Newsletters templates could be automatically generated
for that community, using community members as first newsletter target
(using a mailing-list address or a list of distinct persons). Other persons
of a community could have a "view" access to it (workspace, newsletter
targets) if they decide to (or are volunteered into by community owner).
The workspace of a community could come from a template, showing configured
newsletter, and a default mail archive with view on specific
mailing-list(s) for that community. There could be a documentation part
(space?) with easy export to .doc/.pdf of multiple pages. The "topics" of
that community could be materialized as blog categories, and suggested as
tags for othere pages...
That "flavor" would not be particularly "social" (meaning, connected
with
facebook...) nor "dev", still reuse existing components and add some glue
between them. As far as I know it could be merely a Workspace template, but
I don't know if such workspace template could easily be packaged and
contributed as an extension (should be).
Comes also the idea that "flavors" could have some hierarchy, for example,
the "dev" flavor could be built on top of such "community" flavor,
extending it with other specific integrations (jira, ...).
Also brings the idea of optional dependencies between extensions. Is there
an (easy) way to know, for an extension, if a prerequisite extension is
installed ? (something from EM public API for example). Currently I just
check for specific page existence, or for specific $service... call, to
infer that another extension is already installed. For example you could
decide to create meetings from mail archive app, if and only if the Meeting
application is already installed. Integration of remote systems is nice,
but cross-integration of existing extensions would be even nicer to start
with :-)
BR,
Jeremie