Welcome to Rainbow Portal Community Sign in | Join | Help

Content ItemCollection

The ItemCollection I have been working on quite a bit, and decided to push it to the limits with its implementation.

The Typed Collection pattern

The Typed Collection pattern is a way to completely strongly type implementations. This implementation includes optional events (with the ability to silence them when loading data), a complete IList implementation and additional convenience constructors and methods, such as AddRange and ToArray.

The intersting part, is that the Item has been simplified to some extent, as several aspects of an Item are abstracted into being a version, culture, or some other variant implementation.

With some advice from ace, I have been consolidating a few ideas on the workflow of the item and added a piece to the puzzel

MasterItemData (Shared accross versions, cultures and other incarnations.)
ItemData
ItemSettings and other Properties

the basic item is going to be a more simplified object of proteris and proepty change events, and the main item is going to implement the concept of versions, collections, etc to control a bunch of basic objecs.

Item type has not changed since last i spoke about it.

status and categories need a bit of help ive concluded from discussions with filip, either constraints need to be in the db, or some system of defaults would need to be in place to avoid the null issues he pointed out. i want to thank filip to for taking time to give me a lesson in sql, i think thats what my favorite part of rainbow is, there are always smarter people working on the project who want to help you succeed, so they help you learn and better your path if your patient. Remembering this open source, and everyone is volunteers its just pretty cool sometimes.

i really like how Filip described the module / events idea, although i think the module idea needs to be more evolved into the item idea... in any case, i am thinking events and subscirptions might go on hold till the api makes more progress, as its an easy extension later on.

i would like to get some progress going with manu on the DAL layer, and start implementing that in the api. i have made some inital tests on replacing core code with the api to see how it looks and feels, even thoguh it wouldnt actually work or do antyhing yet, there where things i liked, some i didnt, hence my major work over the collections sobjects mostly.

the boring but important piece will come with making the predefined types which other types cna inherit from, and a few nice built in objects with rainbow in mind.

  • ItemType
  • CustomSettings
    • Application ( this would be purley to define root points in item collections )
    • Portal
    • Page
    • Module
    • Link
    • Text
      • HtmlDocument
        • Announcment
        • ArticlePage
        • BlogEntry
      • Comment
    • Rating
    • File
      • ImageFile
      • MediaFile (Probably not going to be built in any time soon)
      • OfficeFile (Probably not going to be built in any time soon)
      • FlashFile (Probably not going to be built in any time soon)
    • Feed (Extension of link?)
Published martedì 2 maggio 2006 5.31 by Jonathan

Comments

# re: Content ItemCollection

mercoledì 3 maggio 2006 3.19 by ramseur
Show me these patterns with generics then weve got something.  Your IList for instance can be any dataType and save cost because of the heap save with generics.

# re: Content ItemCollection

mercoledì 3 maggio 2006 11.23 by wforney
You are duplicating my work again. Go look at the old newgenesis stuff for the Item class... We came up with an elegant solution to this a while ago.

# re: Content ItemCollection

mercoledì 3 maggio 2006 12.54 by Jonathan
ok, i will have a look to see what i missed from newgen

# re: Content ItemCollection

giovedì 4 maggio 2006 7.34 by ace
bill in order for this project to improve chances and not to go south you should take this "Rainbow 2.0 Project Architect"
Anonymous comments are disabled