plainblack.com
Username Password
search
Bookmark and Share

    
Goto page «Previous Page   1 2 3    Next Page»

The Death of the Collaboration System

User JT
Date 10/25/2008 8:42 pm
Views 26502
Rating -2    Rate [
|
]
Previous · Next
User Message
JT

I think that the era of the collaboration system is drawing to a close. The components (comments, subscriptions, RSS feed, etc) of the Collaboration System should be made into asset aspects, then those components should go in to making a Blog, a Forum, a Newsletter, and maybe other types of assets.

I bring this up because we have virtually stopped adding features to the Collaboration System. This is because it's has become a huge asset that is very slow (at least relative to the other assets in WebGUI). If we break the pieces of it into manageable parts, and make specialized assets rather than one monolithic be-all end-all asset that everybody uses for every purpose imaginable, then we don't have to be afraid of it anymore.

This will enable us to also do cool things, like adding a Blogger API to the blog asset so you can use specialized offline blogging tools to post to it. The forums might get a polling feature. And the newsletter doesn't really need comments, but maybe it should have mechanism to turn it into a PDF.

This isn't something I'll likely do for 7.6, but rather 7.7 or beyond. But I want to start talking about it now, and see what your ideas are. So please share. Tell me what you think.



Back to Top
Rate [
|
]
 
 
bernd
Sounds reasonable. The CS is truly a monster, although admittedly, I
love it!

Let me start a wish list of aspects and assets, the CS could be broken
into:

Aspects:
- RSS feed
- Ratings (i.e. rating of posts/comments)
- Recensions (i.e. rating an item described in the thread/first post)
- Karma donations (separated from ratings)
- Subscriptions
- Comments
- Custom Variables?

CS-like Assets:
- Forum
- Weblog
- Newsletter
- StoryManager?

Not sure if all of this makes sense. I am also wondering, whether all
the aspects can be realized as reusable components. (Is there actually a
common superclass for aspects?)

Bernd



Back to Top
Rate [
|
]
 
 
elnino


Aspects:
- RSS feed
- Ratings (i.e. rating of posts/comments)
- Recensions (i.e. rating an item described in the thread/first post)
- Karma donations (separated from ratings)
- Subscriptions
- Comments
- Custom Variables?


don't forget tag cloud for an aspect!  =)

http://www.plainblack.com/rfe/request-for-enhancement/9529



Back to Top
Rate [
|
]
 
 
JT
Oooh! Good call. Totally forgot about that.

On Feb 12, 2009, at 7:48 PM, <webguidev@plainblack.com> wrote:
elnino wrote:



Aspects:
- RSS feed
- Ratings (i.e. rating of posts/comments)
- Recensions (i.e. rating an item described in the thread/first post)
- Karma donations (separated from ratings)
- Subscriptions
- Comments
- Custom Variables?



don't forget tag cloud for an aspect!  =)

http://www.plainblack.com/rfe/request-for-enhancement/9529



http://www.plainblack.com/webgui/dev/discuss/the-death-of-the-collaboration-system/1/re-the-death-of-the-collaboration-system

--

Plain Black&#44; makers of WebGUI
http://plainblack.com


JT Smithph: 703-286-2525 x810fx: 312-264-5382
Create like a god. Command like a king. Work like a slave.


Back to Top
Rate [
|
]
 
 
bernd

I have been thinking this over and over during the last hours. Just had to write it down. My suggestion is to define a set of three superclasses, which are the equivalent of the previous Collaboration System, Thread and Post classes. Let's call them Container, Issue and Post in the following.

The Container is the equivalent of the former CS. It aggregates Issues and provides basic functionality. It is the level at which content managers define and interact.

The Issue is the equivalent of the former Thread. It inherits from Post and aggregates Posts. However, it does have the Container as its parent.

The Post is a piece of text including a subject, some "header information" and a reference to its parent Post or Thread. It may aggregate further Posts.

For these three basic elements we need a number of aspects that can be mixed in in order to  provide the desired functionality.

Aspects for mixing into ...

Container
  - E-Mail Recipient
  - Subscriptions
  - RSS Feed
  - PDF Export
  - Blogging API

Issue
  - Content Profiling
  - Recensions
  - Rating
  - Karma Donation
  - File Attachment

Post
  - Rating
  - Karma Donation
  - File Attachment

Note that mixins for the Post are also mixins for the Issue, since Issue inherits from Post.

Specific realizations could then be the ...

Forum

Forum Container
  - E-Mail Recipient
  - Subscriptions
  - RSS Feed

Forum Item
  - Rating
  - File Attachments
  - Karma Donation

Forum Post
  - Rating
  - File Attachments
  - Karma Donation

 

StoryManager

StoryManager Container
  - Subscriptions
  - RSS Feed

StoryManager Issue
  - Content Profiling
  - Recensions

StoryManager Post
  - Rating

 

Newsletter

Newsletter Container
- Subscriptions
- PDF Export

Newsletter Issue
- Content Profiling

 

Blog

Blog Container
- RSS Feed
- E-Mail Recipient
- Subscriptions
- Blogging API

Blog Issue
- Recensions
- File Attachment

Blog Post
- Rating

Hope that is of any use. Possibly, we could even do the shop by this approach. If there was a good UML modeling tool available for perl, it would be cool to draw some class inheritance and object relation diagrams.

Bernd

--
Klettern in Magdeburg
(http://www.klettern-md.de)



Back to Top
Rate [
|
]
 
 
JT

Thanks for your reply. I'm sorry I didn't read/reply earlier. I think the idea of containers is unwarranted and adds a lot of extra code to maintain. Separating all the features of the CS out into aspects gives us enough reusability as it is.

The story manager can certainly be made to use some of these aspects, but it is not in the same vein as a collaboration system. It is a repository of articles, and then has a series of assets around it for viewing slices of the repository in different ways and in different areas of the site.

Thank you for breaking down the list of possible aspects. You actually put in one or two that I hadn't even considered, so that helps me think about this in a new light.



Back to Top
Rate [
|
]
 
 
bernd

I have to admit that at the time of writing I did not know anything about aspects but rather considered them some ordinary mixins. Recently, I have read a bit about the Xerox Parc aspect model and AspectJ. It mostly confused me. And I have not even started to look at aspects in WebGUI. But I am planning to do that soon.

I think the idea of containers is unwarranted and adds a lot of extra code to maintain. Separating all the features of the CS out into aspects gives us enough reusability as it is.

Isn't every asset already a container in WebGUI? By container I only meant a top-level asset that wraps around all the posts and where you can control behavior. So basically, the container would be the equivalent of the current CS asset.

The story manager can certainly be made to use some of these aspects, but it is not in the same vein as a collaboration system. It is a repository of articles, and then has a series of assets around it for viewing slices of the repository in different ways and in different areas of the site.

Still sounds like a variant of the new CS to me. You have posts (articles) and a container wrapped around. Shortcuts can be used to show it in different locations including slight variations (content selection, sort order, appearance). Why create something new if it all can be broken down into the same elements?

Thank you for breaking down the list of possible aspects. You actually put in one or two that I hadn't even considered, so that helps me think about this in a new light.

Too much honor :-) I am curious to know which ones...

--
Klettern in Magdeburg
(http://www.klettern-md.de)



Back to Top
Rate [
|
]
 
 
JT

Still sounds like a variant of the new CS to me. You have posts (articles) and a container wrapped around. Shortcuts can be used to show it in different locations including slight variations (content selection, sort order, appearance). Why create something new if it all can be broken down into the same elements

Apparently I have not done an adequate job of explaining what it is. But it's not relevant to this discussion. Just understand that they are quite different things. Sure at some very general level they may share some basic attributes, but they are very different creatures.

Thank you for breaking down the list of possible aspects. You actually put in one or two that I hadn't even considered, so that helps me think about this in a new light.
The big one is that I didn't think about adding ratings (recension) to the thread beyond the ratings that go along with comments. IE a quality rating vs a feeling rating.

JT Smithph: 703-286-2525 x810fx: 312-264-5382
Create like a god. Command like a king. Work like a slave.


Back to Top
Rate [
|
]
 
 
bernd

> Apparently I have not done an adequate job of explaining what it is.
> But it's not relevant to this discussion. Just understand that they
> are quite different things. Sure at some very general level they may
> share some basic attributes, but they are very different creatures.

Now I am really curious what the StoryManager will be like. Coming in
7.7?

>                 Thank you for breaking down the list of possible
>                 aspects. You actually put in one or two that I hadn't
>                 even considered, so that helps me think about this in
>                 a new light.

Do you want me to come up with a few more? Or enough work to do?



Back to Top
Rate [
|
]
 
 
bernd
One more thought: Breaking down the CS into aspects and some skeleton
assets certainly adds a lot of flexibility to programmers. But it
coincides with a loss in functionality for designers. In the past you
could do lots of cool things with the CS on the basis of templates and
prototypes, which will no longer be possible, at least not to the same
extent. So maybe, you want to consider leaving a universal CS in the
core. Ideally, this universal CS would allow to configure aspects you
want to enable via the web interface and could then be prototyped to
realize the different applications people have in mind.



Back to Top
Rate [
|
]
 
 
     Goto page «Previous Page   1 2 3    Next Page»



© 2019 Plain Black Corporation | All Rights Reserved