Hi Edy, > On 9 Mar 2017, at 14:58, Eduard Moraru <[email protected]> wrote: > > Hi, > > It may be worth to clarify a bit the behavior and visibility of actual blog > posts, now that we have covered Categories and the way to share them > between 2 blogs. > > If "Global.Categories" is used by both the "Global" and the "AnotherBlog" > in their configuration (as categoriesLocation), which one of them displays > what? It`s not clear to me which one is the global (i.e.aggregator) and > which one is the local (i.e. just reusing the other's categories, but not > aggregating the other's posts as well) blog in this case. AFAICS right now, > they would both display the same content, since, AFAIU, a blog will be > displaying all the posts for its configured categories.
Are you sure about that? I was under the impression that the blog code algorithm was the following: * if the blog type is local then in the XWQL/HQL query, add a where clause to only find blog posts in that blog’s space space * if the blog type is global then don’t add any where restriction I don’t think it was related to categories. Unless I’m mistaken. Thanks -Vincent > > However, maybe I`ve understood it the other way around. Is it instead the > fact that the aggregator would specify a multi-valued categoryLocations > with the categories of the blogs it wants to aggregate, while a local blog > would only use his own, local categories to display posts? That might work, > *however*, it would only be feasible if the aggregating (global) blog was > in *read-only* mode. If it`s not read-only and it starts creating posts > using one of the aggregated blog's categories, then the new post will start > showing in the aggregated (local) blog as well. > > Thanks, > Eduard > > On Thu, Mar 9, 2017 at 3:19 PM, Mohamed Boussaa <[email protected]> > wrote: > >> Thanks for the reply Vincent. >> >> On Thu, Mar 9, 2017 at 1:26 PM, Vincent Massol <[email protected]> wrote: >> >>> Hi, >>> >>>> On 9 Mar 2017, at 12:12, Mohamed Boussaa <[email protected]> >>> wrote: >>> >>> [snip] >>> >>>> If you want more, here is the details about the envision >> implementation: >>>> >>>> *Changes envisions* >>>> >>>> >>>> - Remove the '*BlogType*' xproperty of the '*Blog.BlogClass*' >>>> - Introduce a new property named '*categoriesLocation'* that contains >>>> the location (space) of the blog categories. >>>> - The 'categoriesLocation' property will allow sharing categories >>>> between different blogs >>>> - By default when a new blog is created the 'categoriesLocation' >>>> property is initialized to a nested space 'Categories' under the blog >>> local >>>> space. >>>> >>>> for example If a Blog is created in a space '*A/*' then its ' >>>> *categoriesLocation*' property wil be initialized to '*A/Categories/*' >>>> >>>> >>>> - All blog categories will be created in this nested space ' >>>> *<blogSpace>/Categories/*’ >>> >>> Note that the rationale for separate Category space is also to fix the >>> open issue we have that categories and blog posts cannot share the same >>> page name (see http://jira.xwiki.org/browse/XWIKI-6346). >>> >>>> - The *WebHome* page of the Categories space will be used as a >>>> management page of the blog categories, the WebHome will list all the >>>> categories of the blog and allows to edit these categories (Add, >>> Rename, >>>> Remove ...) >>>> >>>> *Backward compatibility* >>>> >>>> Actually the default blog installed with xwiki on the 'Blog' space is a >>>> global blog, it mean that all Blog categories are created on the 'Blog' >>>> space and shared with the other local blogs. >>>> >>>> In order to not break the actual use cases we consider that: >>>> >>>> >>>> - If the 'categoriesLocation' property of a given blog is empty then >>>> the categories of the default blog will be used (Categories created >> on >>> the >>>> 'Blog' space) >>>> >>>> *Changes on blog management page* >>>> >>>> >>>> - Remove the 'BlogType' field >>>> - Replace the 'Space' and 'Title' fields with a Location picker (like >>>> when you add a new wiki page). >>>> - A new blog cannot be created in an existing space, a verification >>>> will be done to check if the space is a new one. >>>> >>>> A 'BlogClass' will be added to the WebHome page of the space >>>> >>>> A WebPreferences page will be added to the blog space in order >> to >>>> display the blog panels >>> >>> You forgot one point: >>> >>> * Add an Admin UI for the Blog management by adding a ConfigurableClass. >>> >>> We also discussed about: >>> >>> * Macros * >>> >>> * Introduce a new {{blog}} macro that could be used anywhere to display >>> the content of a blog (see http://jira.xwiki.org/browse/XWIKI-6349) >>> * Make the blog macro be able to act as a “latest blog posts” feature by >>> having parameters to control how many entries to display >>> >>>> *Registration in the Application Panel (Blogs entry points)* >>>> >>>> The general idea is to have a dashboard page that lists all the blogs >>>> available in the wiki. A separate proposal will be done for the blogs >>>> dashboard page. >>> >>> My proposal here is very simple (for a first version): >>> >>> * If there’s only 1 blog in the wiki: keep it as it now, i.e. display the >>> posts of the main blog >>> * If there’s more than 1 blog in the wiki: display a LT with each line >>> being a link to a blog. >>> * Option: instead of a LT, use the {{blog/}} macro for each blog to list >>> the last 5 blog items. We’d just need to find a nice layout for that. I’m >>> sure Caty would have an idea :) >>> >>> All the rest sounds good to me! I’m very happy to see someone working on >>> the blog app; it’s been left untouched for too long. >>> >>> Thanks >>> -Vincent >>> >>>> Thanks, >>>> >>>> Mohamed >>>> >>>> On Wed, Mar 8, 2017 at 10:39 AM, Mohamed Boussaa < >>> [email protected]> >>>> wrote: >>>> >>>>> >>>>> >>>>> On Wed, Mar 8, 2017 at 10:21 AM, Vincent Massol <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Mohamed, >>>>>> >>>>>>> On 2 Mar 2017, at 16:53, Mohamed Boussaa <[email protected] >>> >>>>>> wrote: >>>>>>> >>>>>>> Hello XWikiers, >>>>>>> >>>>>>> This proposal is about adding a new blog type: the isolated blog. >>>>>>> >>>>>>> An isolated blog is a blog that is created in a given space (local >>>>>> blog), >>>>>>> the blog categories and posts are created/visible only in that >> space. >>>>>>> >>>>>>> The objective of creating this separate blog type is to allow having >>>>>>> independent blogs in the same wiki and to not break the actual blog >>> use >>>>>>> cases. >>>>>>> >>>>>>> An isolated blog is subject to following conditions: >>>>>>> >>>>>>> *Posts* >>>>>>> >>>>>>> - The isolated blog posts will be created in the local blog space >>>>>>> - Only blog posts located in the local space will be displayed in >> the >>>>>>> blog home page >>>>>>> - Prevent the global blog to display posts from isolated blogs >>>>>>> >>>>>>> >>>>>>> *Categories* >>>>>>> >>>>>>> - New blog categories are created into the local blog space >>>>>>> - On the blog post form only categories located in the isolated >> blog >>>>>>> space will be displayed >>>>>>> - The 'Categories' panel display only categories located in the >>>>>> isolated >>>>>>> blog space >>>>>>> - Categories from isolated blogs are not displayed in the global >> blog >>>>>>> category panel >>>>>>> >>>>>>> *Panels* >>>>>>> >>>>>>> - Only display local posts in the 'recent posts' panel for isolated >>>>>>> blogs. >>>>>>> - Prevent isolated blog posts to be displayed in the global blog >>>>>> 'recent >>>>>>> posts' panel. >>>>>>> - Only display local unpublished posts in the 'Unpublished posts' >>>>>> panel >>>>>>> for isolated blogs >>>>>>> - Prevent unpublished posts from isolated blogs to be displayed at >>>>>>> global blog 'Unpublished posts' panel. >>>>>>> - Isolated blogs will be removed from any RSS feed but will be >>> visible >>>>>>> on the one matching the isolated blogs. >>>>>>> - The 'archives' panel will not be modified because it already >>> follows >>>>>>> the isolated blogs conditions in the case of local blogs >>>>>>> >>>>>>> *How to create an isolated post?* >>>>>>> On the Blog/Management page >>>>>>> >>>>>>> - Add a checkbox "Isolate this blog" >>>>>>> - When the checkbox is checked: >>>>>>> >>>>>>> - Create an isolated blog in place of a local blog. >>>>>>> - Create the default categories (News, Personal, Others) >>>>>> into >>>>>>> the local space >>>>>>> >>>>>>> >>>>>>> WDYT? >>>>>> >>>>>> Sorry for not answering sooner. I see you’ve now created >>>>>> https://jira.xwiki.org/browse/XWIKI-14076. >>>>>> >>>>>> I’ve just posted a comment there that I’m reposting here: >>>>>> >>>>>> “ >>>>>> How do you address registration in the Application Panel or more >>>>>> generally what are the entry points for isolated blogs? >>>>>> >>>>>> I remember that I made the following suggestion: >>>>>> * When you click on the Blog entry in the Application Panel, have the >>>>>> following: >>>>>> ** If there's only 1 blog in the wiki, go to it (as now) >>>>>> ** If there's more than 1 blog in the wiki, go to a blog dashboard >> page >>>>>> and display the list of all blogs in the wiki (visible to the current >>> user). >>>>>> >>>>> >>>>> We did not think about how to access to the blogs, but your >> suggestion >>>>> can be a good solution. >>>>> >>>>> >>>>>> Note that I don't think we need an "isolated" blog type since we >>> already >>>>>> have the notion of a "local" blog. I can see in BlogClass: >>>>>> >>>>>> {noformat} >>>>>> <values>local=Space blog (aggregates posts from its space >>>>>> only)|global=Global blog (aggregates posts from the entire >>> wiki)</values> >>>>>> {noformat} >>>>>> >>>>>> Global means aggregating posts from the entire wiki so it doesn't >> make >>>>>> sense to not aggregate posts from an isolated blog. >>>>>> >>>>>> So I think we could just do the following instead: >>>>>> * Deprecate the "blogType" xproperty >>>>>> * Introduce a new property named "scope" or "includes" that list all >>>>>> spaces that will be taken into consideration when displaying blog >>> posts. If >>>>>> left empty, then the current space of the blog will be used. If "%" >> is >>> used >>>>>> then all spaces will be used (in practice the value would be used in >>> the >>>>>> where part of XWQL query. >>>>>> >>>>>> I feel this makes it all more coherent and offers more freedom. >>>>>> >>>>> >>>>> The isolated blog type is not just about what blog posts to display, >> it >>>>> includes also the panels content and where to create the categories. >>>>> Actually categories are global, it means that they are created in the >>>>> 'Blog' space. >>>>> >>>>> The objective of the islated blog is to be only visible on its space: >>>>> - Isolated blog categories are created and visible only on the blog >>>>> space >>>>> - The categories are not visible on the post edit page of other >> blogs >>>>> - The posts are not displayed on the blog index pages of the >>>>> global/other local blogs >>>>> - In the space of an isolated blog, the panels will display only >>>>> posts/categories of the isolated blog >>>>> >>>>> >>>>>> WDYT? >>>>>> “ >>>>>> >>>>>> Thanks! >>>>>> -Vincent >>>>>> >>>>>> >>>>> >>> >>> >>

