Hi,

my 2 cents on using a "Data" space: I think it's not a good UX practice.
Here's the rationale:

   - You build an AWM which creates a "Data" space and a "Code" space
   - You add entries => their breadcrumb is therefore MyApp > Data > Entry
   - A normal user looks at the tree navigation: he sees only "Data", not
   "Code"
   - So for most users, there's this unnecessary, confusing "Data" thing =>
   I'm in the Blog, where are my articles? What are they doing over there in
   "Data"?

Though I understand how we got here, I prefer the "Program Files" proposal
in that it keeps a simple app structure for end users. End users should not
be exposed to the technical part of apps (and make no mistake, a "Data"
space is a technical thing).

Thanks,

Guillaume

On Mon, May 2, 2016 at 10:01 AM, Vincent Massol <[email protected]> wrote:

>
> > On 02 May 2016, at 09:56, Vincent Massol <[email protected]> wrote:
> >
> >
> >> On 02 May 2016, at 09:32, Thomas Mortagne <[email protected]>
> wrote:
> >>
> >> So basically you want to introduce the "Program Files" of XWiki ?
> >
> > Not quite. Program Files is for all apps (see below for a real “program
> files” proposal).
> >
> > From Denis’ proposal I also prefer option A.
> >
> > Denis Proposal A
> > ==============
> >
> > Right now I think the proposal is twofold:
> > * Apps with Data continue to create a top level Space containing both
> Code and Data (i.e. apps that generate user-related data)
> > * Apps without Data under the XWiki space (option A)
> >
> > Example:
> >
> > [ROOT]
> >  |_ XWiki
> >    |_ Applications
> >      |_ CKEditor
> >        |_ <app pages, i.e. technical pages, no data for the user, can
> contain config data>
> >  |_ Blog
> >    |_ Code
> >      |_ <app pages, i.e. technical pages, no data for the user, can
> contain config data>
> >    |_ Data
> >      |_ <blog-generated user data, i.e. blog posts>
> >
> > "Program Files” Proposal
> > ====================
> >
> > * Have all apps under the XWiki space (ie the “Program Files” of Windows
> for XWiki)
> > * Have user-related data in a nested space under the User profile’s page
> (would need to be converted to a space first)
> > * Have data generated for users (wiki wide) in some other location.
> Right now that would be a top level space named after the app.
> >
> > So in this proposal we would have for example:
> >
> > [ROOT]
> >  |_ XWiki
> >    |_ Applications
> >      |_ CKEditor
> >        |_ <app pages, i.e. technical pages, no data for the user, can
> contain config data>
> >      |_ Blog
> >        |_ <app pages, i.e. technical pages, no data for the user, can
> contain config data>
> >  |_ Blog
> >    |_ <blog-generated user data, i.e. blog posts>
> >
> > Pros:
> > - All apps located in the same place
> > - App Code protected by default (but can be overridden if need be)
> > - Nicer for users since that would solve the
> “Data”-space-in-the-breadcrumb issue (i.e. they wouldn’t see /Data/ in the
> breadcrumb when on app-generated pages)
>
> Little note for WebHomes of apps:
> * Apps that have UI (WebHome for example) should provide a WebHome for
> users (i.e. in Blog.WebHome in the example above). That WebHome can do an
> include of generic content from XWiki.Applications.Blog.* pages. FTR this
> is what the FAQ apps already does so that the user doesn’t himself on a
> page with FAQCode in the breadcrumb.
>
> Thanks
> -Vincent
>
> >
> > WDYT?
> >
> > Thanks
> > -Vincent
> >
> >> +1 for A
> >>
> >> other important pros IMO: already protected against edition by anyone
> >> else than admin, allow extension to do have to deal with that with
> >> some hypothetical "XWikiAdminGroup" group that may or may not exist
> >>
> >>
> >> On Fri, Apr 29, 2016 at 3:31 PM, Denis Gervalle <[email protected]> wrote:
> >>> Hi Devs,
> >>>
> >>> Appart from the “conventional” application that manage their own data
> >>> subset, there is more general application, that are either providing
> >>> wiki-wide feature without data, or that are managing data in the whole
> >>> wiki, providing additional features. For example, the Administration
> >>> application, the CKEditor, … and other application actually mixed in
> the
> >>> XWiki space.
> >>>
> >>> For those applications, the code/data space separation has no real
> meaning,
> >>> but I think it would also be nice to have the code of those
> applications
> >>> under a common root, in place of having all of them creating a space
> at the
> >>> root of the wiki. For example, currently the UI of the CKEditor is in a
> >>> CKEditor space at the root, and I have no easy way to distinguish it
> from a
> >>> normal space (except that it is invisible), and it is also holding a
> space
> >>> name. I agree, there is little chance that a user wants to create an
> >>> editorial space by the name, but it could happen, and depends on the
> >>> application space name, there could be more common cases.
> >>>
> >>> My proposal is to put such application inside a common space. There is
> >>> several options for the name of that space:
> >>>
> >>> A) Reuse the existing “XWiki” space
> >>> Pros:
> >>> - not holding a new name at root
> >>> - always available
> >>> - nice place to move application already mixup in that space to their
> own
> >>> space
> >>> Cons:
> >>> - it is currently a mess
> >>> - it holds users (but shouldn’t we move them to Users space ? I know
> it is
> >>> not easy)
> >>>
> >>> B) Create a new space for this purpose
> >>> B1) XWikiApplications
> >>> B2) XWikiExtensions
> >>> B3) WikiApplications
> >>> B4) WikiExtensions
> >>> B5) Wiki
> >>> B6) … ?
> >>>
> >>> wdyt ?
> >>>
> >>> On Fri, Nov 20, 2015 at 9:53 PM, [email protected] <
> [email protected]>
> >>> wrote:
> >>>
> >>>> Hi Ludovic,
> >>>>
> >>>> On 20 Nov 2015 at 19:30:26, Ludovic Dubost ([email protected](mailto:
> >>>> [email protected])) wrote:
> >>>>
> >>>>> On this subject, while showing 7.3 in an internal meeting, we saw
> that
> >>>> the
> >>>>> Data page/space is the parent of all content pages in an AWM, but
> does
> >>>> not
> >>>>> actually exist, so in the breadcrumb if you click on "Data" you get
> an
> >>>>> error.
> >>>>
> >>>> Thanks for reporting, see http://jira.xwiki.org/browse/XWIKI-12836#
> >>>>
> >>>> -Vincent
> >>>>
> >>>>> Ludovic
> >>>>>
> >>>>> --*Ludovic Dubost*
> >>>>> *Founder and CEO*
> >>>>> [email protected]
> >>>>> skype: ldubost
> >>>>> Blog: http://blog.ludovic.org
> >>>>>
> >>>>> On Fri, Nov 20, 2015 at 5:10 PM, Anca Luca wrote:
> >>>>>
> >>>>>> On Sat, Nov 14, 2015 at 3:17 PM, [email protected]
> >>>>>> wrote:
> >>>>>>
> >>>>>>> Hi Anca,
> >>>>>>> On 14 Nov 2015 at 10:57:24, Marius Dumitru Florea (
> >>>>>>> [email protected]) wrote:
> >>>>>>>
> >>>>>>> Hi Anca,
> >>>>>>>
> >>>>>>> On Fri, Nov 13, 2015 at 8:51 PM, Anca Luca wrote:
> >>>>>>>
> >>>>>>>> Hello all,
> >>>>>>>>
> >>>>>>>> my 2 cents on the "Data" or "Entries" subspace.
> >>>>>>>> ( But too late, since I see the issue was already closed :( )
> >>>>>>> Thanks for taking the time to participate.
> >>>>>>>
> >>>>>>>> I'm afraid that, even if technically it seems like a nice idea,
> >>>> it's
> >>>>>> not
> >>>>>>>> that nice for a "regular non-developer user" which perceive an
> >>>>>>> application
> >>>>>>>> as only having data.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> They don't need to and won't know that the code of
> >>>>>>>> that application is also stored on the wiki, in another subspace
> >>>> that
> >>>>>> is
> >>>>>>>> called "Code".
> >>>>>>>
> >>>>>>>
> >>>>>>> The Code space is still hidden so a regular user doesn't see it.
> >>>> There's
> >>>>>> no
> >>>>>>> change in this regard.
> >>>>>>>
> >>>>>>>
> >>>>>>>> There is complaint about the size and the amount of bloat in
> >>>>>>>> the XWiki URLS (the /xwiki/bin/view/ part) and this would be an
> >>>> extra
> >>>>>>> one,
> >>>>>>>> for the case of applications. I don't think url rewrite should be
> >>>>>>>> considered so easily as an option because it's technically not so
> >>>> easy
> >>>>>> to
> >>>>>>>> achieve and I think that there can be an issue with colision (e.g.
> >>>>>>> between
> >>>>>>>> MyApp/WebPreferences and MyApp/Data/WebPreferences).
> >>>>>>>>
> >>>>>>>
> >>>>>>> So you think having MyApp and MyAppCode is better?
> >>>>>>> You need to read the whole discussion thread and see that we’ve
> >>>> discussed
> >>>>>>> about what you said already and we’ve weighted pros and cons to
> >>>> decide in
> >>>>>>> the end that all things considered the Code and Data subspaces were
> >>>>>>> probably the best solution.
> >>>>>>
> >>>>>>
> >>>>>>> If you think they are not, please make a proposal that you think
> >>>> would be
> >>>>>>> better (ideally taking into account the arguments that we’ve
> already
> >>>>>>> discussed) and we can discuss updating what’s been already done.
> >>>>>>>
> >>>>>>
> >>>>>> Actually, I read the discussion and I re-read it now. And, depending
> >>>> on how
> >>>>>> the "delete application data" is implemented (IIRC In the UI now) we
> >>>> could
> >>>>>> more go for detailed delete options (by default and in the app
> withim
> >>>>>> minutes itself). All the arguments that were brought in the
> discussion
> >>>> are
> >>>>>> correct, I just think that in some of them the 80-20 rule was
> wrongly
> >>>>>> estimated:
> >>>>>> * deleting a whole application data is frequent, but not _that_
> >>>> frequent
> >>>>>> (20%).
> >>>>>> * it was said that a url rewrite should be doable (people really
> >>>> bothered
> >>>>>> by the Data particle should be able to do it). No, it's not that
> easy
> >>>> (less
> >>>>>> than 20% of the people bothered by the Data particle can do it).
> >>>>>> * less than 20% of usecases have an application within minutes that
> >>>> has two
> >>>>>> data spaces. Actually, I am wondering how is that an app within
> minutes
> >>>>>> still, because out of my knowledge this is not a known feature of
> app
> >>>>>> within minutes, and it means that some customization has been done
> to
> >>>> that
> >>>>>> application. For me, if an application was customized, it's still an
> >>>>>> application but not "within minutes" anymore.
> >>>>>> * if we're talking about applications in general, I think just as
> >>>> frequent
> >>>>>> is the case when the same application has multiple data spaces (e.g.
> >>>> having
> >>>>>> multiple blogs, each in a different space, in a different point in
> the
> >>>>>> hierarchy). Having multiple subspaces in the application space would
> >>>> not
> >>>>>> help much in this case.
> >>>>>> * for the rights issue, in 80% of the cases the code authors are
> data
> >>>>>> authors as well, there are just additional rights on the code (sub)
> >>>> space,
> >>>>>> so it's normal that code space inherits from app space.
> >>>>>> * deleting a space without some of its subspaces is a larger problem
> >>>> than
> >>>>>> app within minutes, so a more generic solution for that could be
> >>>>>> interesting. Also, I think it would be a frequent problem (80%), so
> >>>> having
> >>>>>> a flexible solution for it can be interesting.
> >>>>>>
> >>>>>> Actually, the only thing on which I have a doubt that it would
> affect
> >>>> 80%
> >>>>>> of the usecases is the Data particle itself in the url :) (maybe
> more
> >>>> like
> >>>>>> 50-50 :D) . However, from the discussions in the thread I kind of
> had
> >>>> the
> >>>>>> feeling that it being annoying is considered to fall in the 20%
> bucket,
> >>>>>> compared to the other arguments which would be 80. I have the
> opposite
> >>>>>> feeling, as I explained above in the bullet list.
> >>>>>>
> >>>>>> It's a good thing that it's configurable, though.
> >>>>>>
> >>>>>> In what concerns the more generic topic of best practices: In the
> >>>> cases of
> >>>>>> larger customizations that I met so far (on non-nested spaces,
> >>>> though), the
> >>>>>> isolation was much more important: all the code for all the
> >>>> applications
> >>>>>> and all the customizations is in one space, in order to be able to
> >>>> manage
> >>>>>> it together as a group (rights, UI settings, deployment, search,
> etc),
> >>>>>> while the data was spread around in spaces that are dedicated
> >>>> exclusively
> >>>>>> to data, potentially more data spaces for all the different areas of
> >>>>>> applications coded by that code. Note that this would not fit in the
> >>>> case
> >>>>>> of a standard app within minutes anyway. I haven't thought yet about
> >>>> how
> >>>>>> this strategy would adapt for nested spaces, if each code space
> should
> >>>> be
> >>>>>> nested under its application space or still keep it all isolated...
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Anca
> >>>>>>
> >>>>>>
> >>>>>>>
> >>>>>>>> But I guess this is really too late now...
> >>>>>>> It’ s not too late. This was done recently and we can still tune
> >>>> things
> >>>>>> if
> >>>>>>> there’s a better proposal.
> >>>>>>>
> >>>>>>> The location where the application stores its data is configurable.
> >>>>>>> What we need (and the topic of this thread) is a best practice, ie.
> >>>>>> what’s
> >>>>>>> used by default. We want apps by default to use these best
> practices,
> >>>>>> even
> >>>>>>> if they’re configurable (that should be the exception). So it would
> >>>> be
> >>>>>> nice
> >>>>>>> to have Anca and all the devs on this list to agree to use the best
> >>>>>>> practices :)
> >>>>>>>
> >>>>>>> Thanks
> >>>>>>>
> >>>>>>> -Vincent
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>> Marius
> >>>>>>>
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Anca
> >>>>>>>>
> >>>>>>>> On Tue, Oct 27, 2015 at 11:34 AM, Guillaume "Louis-Marie"
> >>>> Delhumeau <
> >>>>>>>> [email protected]> wrote:
> >>>>>>>>
> >>>>>>>>> Hello.
> >>>>>>>>>
> >>>>>>>>> Why not using "Entries" instead of "Data" for the name? It will
> >>>> be
> >>>>>>> shown
> >>>>>>>>> both in the URL and in the breadcrumb, and fit with most of the
> >>>>>>>> use-cases.
> >>>>>>>>>
> >>>>>>>>> Users can still change the title of the "Entries" space to have a
> >>>>>> more
> >>>>>>>>> specific name such as "Ideas", "Meetings", etc...
> >>>>>>>>>
> >>>>>>>>> Just my 2 cents.
> >>>>>>>>>
> >>>>>>>>> 2015-10-26 10:45 GMT+01:00 Marius Dumitru Florea <
> >>>>>>>>> [email protected]>:
> >>>>>>>>>
> >>>>>>>>>> On Fri, Oct 23, 2015 at 5:06 PM, Clemens Klein-Robbenhaar <
> >>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>> On Wed, Sep 30, 2015 at 11:16 AM, Guillaume "Louis-Marie"
> >>>>>>>> Delhumeau <
> >>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> 2015-09-30 10:58 GMT+02:00 [email protected] <
> >>>>>>> [email protected]
> >>>>>>>>> :
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On 30 Sep 2015 at 10:53:48, Thomas Mortagne (
> >>>>>>>>>> [email protected]
> >>>>>>>>>>>>>> (mailto:[email protected])) wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I think what I like best is some option in the
> >>>> refactoring
> >>>>>> API
> >>>>>>>> to
> >>>>>>>>>>>>>>> indicate that you want to delete only final documents
> >>>> in the
> >>>>>>>> space
> >>>>>>>>>> (so
> >>>>>>>>>>>>>>> skipping space home page and spaces).
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> That could be interesting for some use cases but it’s
> >>>> risky
> >>>>>> for
> >>>>>>>>> this
> >>>>>>>>>>> one.
> >>>>>>>>>>>>>> Several apps may generate terminal pages and users could
> >>>>>> create
> >>>>>>>>>>> terminal
> >>>>>>>>>>>>>> pages in app spaces too. So that would not just remove
> >>>> the
> >>>>>> app
> >>>>>>>>>>> technical
> >>>>>>>>>>>>>> pages, it could remove more.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> The idea of Thomas is an option to only delete *terminal*
> >>>>>> pages
> >>>>>>>>>> located
> >>>>>>>>>>> in
> >>>>>>>>>>>>> the space with a depth of 1. Said differently, the direct
> >>>> and
> >>>>>>>>> terminal
> >>>>>>>>>>>>> children of the page.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> This way, you can delete all data located in the space
> >>>> without
> >>>>>>>>>> removing
> >>>>>>>>>>> the
> >>>>>>>>>>>>> code (because the code would be located in a deeper
> >>>> depth),
> >>>>>> but
> >>>>>>> it
> >>>>>>>>>> works
> >>>>>>>>>>>>> only if the app generates data as terminal pages. It is
> >>>> the
> >>>>>> case
> >>>>>>>>> right
> >>>>>>>>>>> now,
> >>>>>>>>>>>>> but new apps should work differently and create their
> >>>> data as
> >>>>>>>>> regular
> >>>>>>>>>>>>> Nested Pages.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> I don't agree at all on this later statement. New apps
> >>>> _may_
> >>>>>> work
> >>>>>>>>>>>> differently and create nested pages, but it _should_ not.
> >>>>>>>>>>>> Anyway, this is why I am wondering about properly
> >>>> separating
> >>>>>>>> WebHome,
> >>>>>>>>>>> Code
> >>>>>>>>>>>> and Data.
> >>>>>>>>>>>> I do not think we need stable names, but the structure
> >>>> matter.
> >>>>>> If
> >>>>>>>>> Data
> >>>>>>>>>>> does
> >>>>>>>>>>>> not look nice, you may leave apps decide for themselves,
> >>>> the
> >>>>>>> rules
> >>>>>>>>>> being
> >>>>>>>>>>>> put your data in subspaces, and code in the Code subspace,
> >>>> or
> >>>>>>>>> something
> >>>>>>>>>>>> like that. Please note that using "space" in the previous
> >>>> rules
> >>>>>>>> looks
> >>>>>>>>>> bad
> >>>>>>>>>>>> to me, since we do not have space anymore ;)
> >>>>>>>>>>>>
> >>>>>>>>>>> [...]
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> Just another random thought: some applications might really
> >>>> want
> >>>>>> to
> >>>>>>>>> have
> >>>>>>>>>>> two "data" spaces;
> >>>>>>>>>>> for example currently in the blog you cannot have a category
> >>>> and
> >>>>>> a
> >>>>>>>> blog
> >>>>>>>>>>> post with the same name.
> >>>>>>>>>>> If both end up in their respective "subfolders" "Blog.Posts"
> >>>> and
> >>>>>>>>>>> "Blog.Categories", the problem goes away.
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Indeed, but I don't think it contradicts the rule. IMO the best
> >>>>>>>> practice
> >>>>>>>>>> should be to group the application data in one or more
> >>>> subspaces
> >>>>>>> under
> >>>>>>>>> the
> >>>>>>>>>> application space. If the application generates only one type
> >>>> of
> >>>>>> data
> >>>>>>>>> (e.g.
> >>>>>>>>>> Events) then it makes sense to have only one Data subspace. If
> >>>> the
> >>>>>>>>>> application generates two or more types of data (Categories and
> >>>>>>> Posts)
> >>>>>>>>> then
> >>>>>>>>>> it may need more subspaces. The only question is whether we
> >>>> should
> >>>>>>>> group
> >>>>>>>>>> these subspaces under a Data subspace, e.g.
> >>>>>>>>>>
> >>>>>>>>>> App / Data / Categories
> >>>>>>>>>>
> >>>>>>>>>> or leave them directly under the application space:
> >>>>>>>>>>
> >>>>>>>>>> App / Categories
> >>>>>>>>>>
> >>>>>>>>>> I prefer the second option.
> >>>>>>>>>>
> >>>>>>>>>> Another thing to decide is whether the Data space should be
> >>>> named
> >>>>>>>> "Data"
> >>>>>>>>> or
> >>>>>>>>>> some domain-specific name. Considering that we can set the
> >>>> title of
> >>>>>>> the
> >>>>>>>>>> home page to anything we want, I prefer to use "Data" as name,
> >>>> so
> >>>>>>> that
> >>>>>>>>> the
> >>>>>>>>>> code deals with a generic "Data" space, even though the user
> >>>> sees
> >>>>>>>>> "Events"
> >>>>>>>>>> in the breadcrumbs.
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> On the other hand if the application pages end up directly
> >>>> inside
> >>>>>>> the
> >>>>>>>>>> main
> >>>>>>>>>>> page, then e.g. you cannot have a category "Code" in the
> >>>> Blog.
> >>>>>>>>>>> (You cannot have a blog post with it either, but that might
> >>>> be a
> >>>>>>>>> smaller
> >>>>>>>>>>> nuisance)
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Good point, and another reason to group the application data in
> >>>>>>> nested
> >>>>>>>>>> spaces under the application space.
> >>>>>>>>>>
> >>>>>>>>>> Thanks,
> >>>>>>>>>> Marius
> >>>>>>>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to