Monday, December 10, 2007

New Feature: Object History

N Levels now tracks history for each object. This history includes the following information:

  • when the object was created (along with the properties that were set)
  • when the object was modified (along with the modified properties)
  • when a relationship is modified, i.e. a target object is added or removed
  • when the object is added or removed as the target of a relationship

Each object has its own history page (see this example). You can "scope" the history that is displayed to the past hour, day, week, month, year, or the object's complete lifetime.

Note that for property-related history items (e.g. object creation or modification), the object owner can view the property values that were set (if they are logged into the site). However, these values are not visible to other users - the history simply lists which properties were modified.

There is an associated RSS history feed for each object. This feed can also be scoped as described above, and includes the same information that is displayed in the history page. This makes it easy for someone to keep up-to-date on the changes for a given object, by using any standard RSS reader (see screenshot of a history feed as viewed in the RssReader application).

Currently we generate an unique RSS history feed for each object. In the future, we plan to enable users to create customized RSS feeds for a collection of objects - e.g. all objects which match a specified search criteria, or all objects of a certain type owned by a specific user. Feedback and suggestions on how we can improve the usefulness of this feature would be greatly appreciated!

Sunday, December 9, 2007

New Feature: Control how object properties are displayed

One of the recent features we've added to N Levels is the ability to control how object properties are ordered (from a display perspective) in the object "create" and "edit" pages, as well as object widgets.

When you create a new object type you select the property types that it includes. In addition to specifying which of these property types are mandatory, you can also control the order in which they are displayed, as shown in this screenshot.

The ability to order how properties are displayed is useful especially in situations where you have a large number of properties, or where the properties are related and have a meaningful ordering. For example, the property types for a physical location have a standard canonical ordering of address / city / state / postal code / country.

Something to be aware of as you create your own object types...