Changes between Version 3 and Version 4 of DocumentationForDevelopers


Ignore:
Timestamp:
03/05/12 12:36:22 (9 years ago)
Author:
kiesel
Comment:

item-sameAs, ft multiple supertypes, authentication

Legend:

Unmodified
Added
Removed
Modified
  • DocumentationForDevelopers

    v3 v4  
    55 * Threading model 
    66   * There is just one big lock per user (the user's [source:trunk/skipforward/src/de/opendfki/skipforward/FactsDatabase.java FactsDatabase] instance); it's acquired immediately in [source:trunk/skipforward/src/de/opendfki/skipforward/ui/web de.opendfki.skipforward.ui.web] servlets. 
    7    * If you create a background thread or something similar, make sure you get the lock 
     7   * If you add a new servlet, create a background thread, or something similar, make sure you get the lock. 
     8 * Authentication 
     9   * An HTTP cookie is given to the user after authentication. The user's session is fetched using the magic contained in that cookie. 
     10   * For RSS, a hash (based on the user's password) contained in the URL is used to get the user session. That hash should not be used anywhere else. 
    811 * MVC 
    912   * [source:trunk/skipforward/src/de/opendfki/skipforward/ui/web de.opendfki.skipforward.ui.web] servlets call [source:trunk/skipforward/src/de/opendfki/skipforward/ui de.opendfki.skipforward.ui] class methods; these build views (using custom beans, typically), build HTML using StringTemplate, and return the HTML 
     
    1720   * beans are throwaway objects and do not have any internal state - every change using their setters is immediately persisted in RDF 
    1821   * beans are associated with their corresponding FactsDatabase so you cannot pass one bean instance to another user 
     22 * skipinions:FeatureType 
     23   * be aware that a Feature Type may have multiple supertypes. Also, while there should be no loops in the hierarchy, algorithms traversing the hierarchy should not get stuck if loops are present (due to bugs or something). 
    1924 * non-binary features 
    2025   * nb features are feature types such as "Name" or "Written by" - the full type is defined by the value(s) a feature instance uses then 
     
    2429   * same for getting labels: feature123.getFeatureType().getLabel() is not very helpful (again, "Name") - use feature123.getFeatureTypeLabel() instead. 
    2530   * thus, writing code that uses something like Map<FeatureType, ...> is most likely a mistake. 
     31 * skipinions:Items 
     32   * each user has a copy of all items he has commented on in his namespace, even if the Item he commented on was initially created by someone else. 
     33   * copied Items are linked to each other using owl:sameAs. 
     34   * Item.getFeatures...() does NOT take owl:sameAs links into consideration; FactsDb.getFeaturesForItem() DOES. 
     35   * be aware there are no persistent 'canonical' item URIs for any given item (as all item copies are equivalent) - for use in algorithms you can get canonical URIs that are valid at the moment though. 
    2636 
    2737