UserPreferences

Is there a way to read only parts of a u-form into memory?


Is there a way to read only parts of a u-form into memory?

Currently there isn't - all the contents of a u-form are shepherded together.

One problem with this is that some attributes may be very big, and not relevant to a particular user. For example, if there was a dataset that contained names, addresses and photographs of famous buildings, the shepherding all of the graphics every time a user requested the name and address could cause a great deal of excess traffic.

It has been proposed that partial shepherding should be used to counteract the tendency to shepherd excess information. If a particular application only needs the attributes referred to a certain role, only these attributes should be shepherded. However, there are other important assumptions about shepherding that may conflict with this goal.

It may also be argued that this extra functionality may be unnecessary. In the above example, you can avoid shipping extra graphics by putting the name and address in one u-form and have a "picture" attribute that refers to a different u-form containing the graphic files themselves. The drawback of this approach is that extra roundtrips to the repository would be needed to access the images - unless requesting the target of u-form links directly is possible using a something like RQL.

Current implementations

The nearest proposal to partial shepherding at present is one that includes all attribute *names*, but essentially *compresses* the values of some attributes to cryptographic checksums (e.g. SHA).

So in this case you would be aware of whether you got the "whole" u-form (in some sense) and you would know which values you were "not able to interpret."