Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[corona-dev] content-type and access-type issues

I thought the division was Page Views know how to handle content-type and Repository extension points handle access-type.  So the viewers handle reading and display of files whereas repository adapters handle access to files.  So many views still have to written but maybe not as many repository adapters.
  

Excerpt from Marcin’s earlier post (12/12/2006 9:33 AM)

 

>>I thought the division was Page Views know how to handle content-type and Repository extension points handle access-type.  So >>the viewers handle reading and display of files whereas repository adapters handle access to files.  So many views still have >>to written but maybe not as many repository adapters.

>
>It it not quite like this. It would require three parameters to have it in this way. I was pointing it some time ago. Just to point what information we really need:

·        >what is stored in repository - team members, bugs, tasks, requirements, etc.

·        >what is the format of stored information; it is not only if it is an XML but also the format of XML itself; for instance Bugzilla XML format will be different than >TestTrack XML format, but still they represent bugs

I thought  content-type would be specified as Bugzilla Bug, TestTrack Bug so we overloaded the content-type to indicate both: content-format and content-type.  I agree we should change this into the 3 items – as you mention below but this is a problem of heterogeneous resources in a single repository like CVS, SVN, Jackrabbit, Webdav

access-type – repository connection type

content-type - more general description of the repository contents (bug, team members, source files)

content-format – this should be very specific description of resource formats but   

we don’t know all of the resources types that may exist in a repository.  So specifying all formats in a repository wouldn’t be easy or even possible ahead of time.  So, we need to rely on information from the resource itself.  We have talked about using mime types of files in Jackrabbit to associate a file with the correct viewer.

 

·        >How to access those information (or protocol); if it a local file, WebDAV, FTP, JDBC or web service call.

I think we should include Jackrabbit here.


>So, we have 3 information we need but only 2 places to store it - content-type and access-type. So how did we split it? Simply:

  • >We need to select what is in some repository, so the 1) information goes to content-type. The content-type says what information are stored in a given repository. >This will be for instance "bugs". Now, if you work with a RepositoryAdapter for a given content-type, you make an assumption that objects it returns always have >the same interface. I think SDO is going to be used to define interfaces for a given content-type.
  • >Then we have still 2 and 3 information to store, but only one field left. So it is merged. So, in fact the access-type meaning is combination of format and way of >accessing it.

No, I think access-type only tells you how to access a repository.  The format is really part of the resource, not of the repository, I think we need a way to ask the resource about its content format.

>As you see you need to implement a new repository adapter for the same XML format if you have it in WebDAV of FTP. Of course you may use some "tricks" with >delegation, and register the same repository adapter for various protocols.

 

I think you mixed up content-type and access-type.  I think you would register the repository adapter with a single protocol.  I think the ViewPage accesses the repository to show list of resources.  Once user chooses a resource to view a mapping of the resources’s content-format to content Viewer must be made.

 

>But it is not automatically matched and there is no magical composition of layers depending on description.

There was a conversation about mapping content-type to Viewers back on 7/31/2006 the email subject was ”RE: [corona-dev] Test Data Moved”


>I'm generally for having it layered into three levels. It would unfortunately mean some complication in CC format as well in matching, but on the other hand we would get:

  • >better code reuse, abstraction level
    • >the access level (like WebDAV, FTP, etc) could be reused by other repositories if a strict interface is defined

I think currently our strict interface is IRepository

    • >the same format parser is kept only in one adapter, instead of having it in several places

Not sure what this means

  • >much bigger flexibility
    • >the adapters would be composited by format and access protocol; you could then have compositions that wasn't previously thought of - for instance the >team member file could be kept in CVS; now you would have to rewrite adapter so be prepared for this; if we have three levels then in some deployment >environment some commercial plugin with this access type could be provided.

>Probably 3 layers as well doesn't cover all cases, but at least the basic one. Unfortunately our format doesn't allow extending the definition.

 

I thought we could just add this to our ContextContainer model and generate code – some code will have to be changed to use the attribute

 

I suppose this is an SDO issue. >It would be best that content of subtag would be dependent on its type. Then you could always provide as many layers as you need in a particular case.

The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.

Back to the top