[xwiki-devs] [Brainstorming] Best practices for storing Application pages
Hi devs, Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space. See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically: “ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. " Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default. WDYT? Would you be ok to modify all our existing apps to go in that direction? Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)). Thanks -Vincent
Hi. What about a page like: WikiManager.CreateWiki? It is a technical page, so should it be renamed WikiManagerCode.CreateWiki. But then, the URL will not be nice IMO: /xwiki/bin/view/WikiManagerCode/CreateWiki. My application does not handle data (except the configuration), so it doesn't need to be in a distinct space. That's why I am +0 to make it mandatory for our applications. WDYT? Thanks, Guillaume 2014-05-28 15:19 GMT+02:00 [email protected] <[email protected]>:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Le 28 mai 2014 15:27, "Guillaume "Louis-Marie" Delhumeau" < [email protected]> a écrit :
Hi.
What about a page like: WikiManager.CreateWiki? It is a technical page, so should it be renamed WikiManagerCode.CreateWiki. But then, the URL will
not
be nice IMO: /xwiki/bin/view/WikiManagerCode/CreateWiki.
Maybe the logic would be to have : WikiManagerCode.CreateWikiSheet WikiManager.CreateWiki CreateWiki is then not technical, but an admin UI.
My application does not handle data (except the configuration), so it doesn't need to be in a distinct space.
That's why I am +0 to make it mandatory for our applications.
WDYT?
Thanks, Guillaume
2014-05-28 15:19 GMT+02:00 [email protected] <[email protected]>:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac... ,
specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Wed, May 28, 2014 at 3:52 PM, Jeremie BOUSQUET <[email protected]> wrote:
Le 28 mai 2014 15:27, "Guillaume "Louis-Marie" Delhumeau" < [email protected]> a écrit :
Hi.
What about a page like: WikiManager.CreateWiki? It is a technical page, so should it be renamed WikiManagerCode.CreateWiki. But then, the URL will
not
be nice IMO: /xwiki/bin/view/WikiManagerCode/CreateWiki.
Maybe the logic would be to have : WikiManagerCode.CreateWikiSheet WikiManager.CreateWiki
CreateWiki is then not technical, but an admin UI.
Admin UI is technical, it's still not data.
My application does not handle data (except the configuration), so it doesn't need to be in a distinct space.
That's why I am +0 to make it mandatory for our applications.
WDYT?
Thanks, Guillaume
2014-05-28 15:19 GMT+02:00 [email protected] <[email protected]>:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac... ,
specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Hi, Le 28 mai 2014 15:19, "[email protected]" <[email protected]> a écrit :
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to
move to storing all the pages of an app in a single space.
See
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the
application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations.
"
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
In my app I even use a third one : XXXPrefs. I store app config in this one ( different than app data). It allows me to easily reset app code and content, while keeping the configuration (which consists of many pages in my case). It also allows to easily set specific rights to persons who can alter this configuration (even if they can't touch the code or content).
Of course all technical pages are hidden and thus the XXXCode space will
not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that
direction?
Note: A future solution is to use nested spaces but even with nested
spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Jeremie, On 28 May 2014 at 15:48:46, Jeremie BOUSQUET ([email protected](mailto:[email protected])) wrote:
Hi,
Le 28 mai 2014 15:19, "[email protected]" a écrit :
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to
move to storing all the pages of an app in a single space.
See
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the
application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations.
"
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
In my app I even use a third one : XXXPrefs. I store app config in this one ( different than app data). It allows me to easily reset app code and content, while keeping the configuration (which consists of many pages in my case). It also allows to easily set specific rights to persons who can alter this configuration (even if they can't touch the code or content).
I understand. However it seems a bit overkill to define this as a general rule IMO. Regarding your points: - If the need is to remove an app’s generated content and keep only config + code then it’s easy, all you need to do is to remove/empty the XXX space - Concerning the rights, yes I guess having a space can make it easier. However in general an app has 1 config page (maybe 2) and it’s easy to define a right at the page level if a user wants to decide who has the right to edit configuration IMO. Thanks -Vincent
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
Hi Vincent, Le 30 mai 2014 23:46, "[email protected]" <[email protected]> a écrit :
Hi Jeremie,
On 28 May 2014 at 15:48:46, Jeremie BOUSQUET ([email protected]
(mailto:[email protected])) wrote:
Hi,
Le 28 mai 2014 15:19, "[email protected]" a écrit :
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to
move to storing all the pages of an app in a single space.
See
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac... ,
specifically:
“ Generally, put all your pages in a single space dedicated for the
application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations.
"
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
In my app I even use a third one : XXXPrefs. I store app config in this one ( different than app data). It allows me to easily reset app code and content, while keeping the configuration (which consists of many pages in my case). It also allows to easily set specific rights to persons who can alter this configuration (even if they can't touch the code or content).
I understand. However it seems a bit overkill to define this as a general rule IMO.
Regarding your points: - If the need is to remove an app’s generated content and keep only config + code then it’s easy, all you need to do is to remove/empty the XXX space - Concerning the rights, yes I guess having a space can make it easier. However in general an app has 1 config page (maybe 2) and it’s easy to define a right at the page level if a user wants to decide who has the right to edit configuration IMO.
For sure, I agree this should not be a general rule... Was just listing it as a possibility for "big" applications, that I found very useful in my case.
Thanks -Vincent
Of course all technical pages are hidden and thus the XXXCode space
will
not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that
direction?
Note: A future solution is to use nested spaces but even with nested
spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Wed, May 28, 2014 at 3:19 PM, [email protected] <[email protected]> wrote:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Not sure about that, it means you are going to put the blog entry point which list all blog posts in BlogCode.WebHome (which mean http://mydomain/xwiki/bin/view/BlogCode/), same for blog categories manager etc ? It's not data.
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
On 28 May 2014 at 16:04:22, Thomas Mortagne ([email protected](mailto:[email protected])) wrote:
On Wed, May 28, 2014 at 3:19 PM, [email protected] wrote:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Not sure about that, it means you are going to put the blog entry point which list all blog posts in BlogCode.WebHome (which mean http://mydomain/xwiki/bin/view/BlogCode/), same for blog categories manager etc ? It's not data.
Yes indeed. So let’s refine the definition: - one XXX space (e.g. Blog space) for holding content pages and UI pages - one XXXCode space (e.g. BlogCode space) for holding technical pages Thanks -Vincent
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Wed, May 28, 2014 at 4:19 PM, [email protected] <[email protected]> wrote:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
I'm not sure this fits all the applications. E.g. Activity stream, Administration, Annotations. It makes (more) sense when the application creates data documents that the user is aware of and which he can edit directly. The user goes to each document to view and edit it. The application doesn't make changes on his behalf, under the hood. +1 for having a dedicated code space in this case.
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Marius, On 29 May 2014 at 07:35:24, Marius Dumitru Florea ([email protected](mailto:[email protected])) wrote:
On Wed, May 28, 2014 at 4:19 PM, [email protected] wrote:
Hi devs,
Right now our practice in XWiki Platform for the apps we develop is to move to storing all the pages of an app in a single space.
See http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPrac..., specifically:
“ Generally, put all your pages in a single space dedicated for the application you're developing (e.g. Faq, Scheduler, IRC, AppWithinMinutes, etc). The name must be as short as possible while still being understandable of course and without overusing abbreviations. "
Now there are potentially some use cases that may warrant to have 2 spaces: one for the content documents and one for the technical documents: - ability to easily set permissions on all technical pages so that only a group of person can modify them but allow another group of persons to edit the content pages (e.g. for the Blog application) - easier to remove all the content pages of an app but still keep the app working
So one idea would be systematically have 2 spaces for apps: - one XXX space (e.g. Blog space) for holding content pages - one XXXCode space (e.g. BlogCode space) for holding technical pages
Of course all technical pages are hidden and thus the XXXCode space will not appear in the list of spaces or searches by default.
WDYT? Would you be ok to modify all our existing apps to go in that direction?
I'm not sure this fits all the applications. E.g. Activity stream, Administration, Annotations. It makes (more) sense when the application creates data documents that the user is aware of and which he can edit directly. The user goes to each document to view and edit it. The application doesn't make changes on his behalf, under the hood.
+1 for having a dedicated code space in this case.
I’m assuming you were answering to the following which was in my last email " Yes indeed. So let’s refine the definition: - one XXX space (e.g. Blog space) for holding content pages and UI pages - one XXXCode space (e.g. BlogCode space) for holding technical pages Thanks -Vincent “ In the case of applications that don’t produce content pages and that don’t have any UI pages, they’d just use a XXXCode space and there would be no XXX space. For example the Activity Stream app has no UI and doesn’t produce any content page so indeed its 2 pages would go in the ActivityStreamCode space. WDYT? Thanks -Vincent
Note: A future solution is to use nested spaces but even with nested spaces the need for 2 spaces would be the same. We would just need to make the XXXCode space a subspace of the XXX space (assuming we can set permissions on subspaces ;)).
Thanks -Vincent
participants (5)
-
Guillaume "Louis-Marie" Delhumeau -
Jeremie BOUSQUET -
Marius Dumitru Florea -
Thomas Mortagne -
vincent@massol.net