Development:TechGroup:Meetings

From ChemEd Collaborative

Jump to: navigation, search

Welcome to the ChemEd DL Technical Group Page! Anyone with interest in the technical aspects of building and developing the ChemEd DL are welcome to attend our meetings which take place in Journal House, every other Thursday afternoon at 1:15pm.

This page has the planned agendas or minutes from each Meeting. For discussion of topics to be discussed, please use the "Discussion" page (click on the tab at the top of this article). Feel free to suggest ideas for meetings on the Discussion tag (or ask questions of members) and add items to future agendas as desired. It is recommended that all attenders of the Technical Group Meetings add this page to their watchlist (when logged in, you can click on the 'Watch' tab at the top of this article).

Contents

7 May 2009

Topics:

  • Just to let people know, I learned that one can query Alfresco (even add new content) from the command line with curl.

Of course the same can be done with php. The relevant question here is that to have access to Alfresco content it doesn't require any previous writing of webscripts. I think it would be interesting to discuss when to write webscripts (basically using Alfresco as web server) or when to query it (using Alfresco as content database)

It's explained in J Potts post: [1]

In a bash script I can write

ticket=`curl -v "http://localhost:8080/alfresco/service/api/login?u=admin&pw=admin"|grep TICKET|sed -e "s/<ticket>//"|sed -e "s/<\/ticket>//"`

curl -v -X POST "http://localhost:8080/alfresco/service/api/query?alf_ticket=$ticket" -H "Content-Type: application/cmisquery+xml" -d @/Users/xavier/Sites/Alfresco/CMIS/cmis_query.xml

where cmis_query.xml is: <cmis:query xmlns:cmis="http://www.cmis.org/2008/05" > <cmis:statement><![CDATA[select * from cm_content where cm_name like '%aceticacid%']]></cmis:statement> </cmis:query>

it returns the noderef of each match as well as its properties. Xavier 13:31, 6 May 2009 (CDT)

Content Types:
Element:
Properties: elem:atomicNumber, elem:symbol, elem:name, elem:state25, elem:numbIsotopes, elem:oxidationNumber, elem:oxidationOther, elem:group, elem:period, elem:electronicConfiguration, elem:source, elem:displayColor, elem:characteristics, elem:discoveryDate, elem:abundanceSolar, elem:abundanceEarth, elem:family, elem:periodTableBlock, elem:nameOrigin, elem:radiusVDW, elem:discoveryCountry, elem:discoverers
Associations (target): elem:associatedJCEArticles (jce:article), elem:associatedImages (cm:content), elem:chemicalProperties (cProp:calculation)

Chemical Aggregate:
Properties: cagg:formula, cagg:uses, cagg:name, cagg:chemDescriptors, cagg:socialDescriptors, cagg:alternativeNames, cagg:color, cagg:toxicity, cagg:safety, cagg:structure, cagg:collection, cagg:color
Associations: cagg:associatedJCEArticles (jce:article), cagg:associatedImages (cm:content), cagg:chemicalProperties (cProp:calculation)

Chemical Property:
Properties: cProp:name, cProp:method, cProp:units, cProp:value, cProp:dataType, cProp:range, cProp:uncertainty, cProp:mode (Measured or Calculated)

Aspects:
Molecule:
Properties: mol:molname, mol:molecularWeight, mol:formula, mol:charge, mol:spin, mol:elements, mol:numAtoms, mol:numOccOrbitals, mol:isotopes, mol:conformer, mol:stereochemistry, mol:symmGroup, mol:vseprShape, mol:outputGaussian, mol:dipole, mol:relevantDistances, mol:molecularOrbitals, mol:charges, mol:electrostaticMap, mol:modesVibration, mol:symmetryOperations, mol:inchi, mol:smiles, mol:methodcomp, mol:cid, mol:iupac_systname, mol:iupac_traditname, mol:casreg, mol:molfile3d, mol:molfile2d

Also States, Phases, Polymorphs, Allotrophs?

An aspect in Alfresco is a group of properties that you can attach to a node. Modeling molecule as an aspect means that a molecule has no independent existence in Alfresco. It has to be attached to a content type like Chemical Aggregate. The content type can have associated calculated or measured properties or JCE articles associated with it but not the aspect.

An association defines a relationship between two content types or nodes in Alfresco. Using the model defined above Chemical Properties are associated to the Chemical Aggregate nodes by a child association, meaning that they are deleted when the parent node is deleted. There are also peer associations in which the two nodes associated have independent existence. The association defined between Chemical Aggregate nodes and JCE Article nodes in the above model is a peer association.

Which raises the question: Should there be a content type like Chemical Entity or Chemical Substance to which everything is attached to? Should Element be an aspect that is associated to something else or should it remain its own content type?

One further consideration is that content types can inherit from a parent. Looking at the above model, one can see that the associations defined above for elements and chemical aggregates are the same, suggesting that there could be a parent content type with these associations defined from which Element and Chemical Aggregate descend (assuming that we keep them both as content types).

In the interest of thoroughness I will mention one more model-design consideration, although I don't see an application which would require it in the current discussion. Aspects can have aspects. So, for instance, if we think the mol:stereochemistry property was too simple (couldn't be adequately defined with a single property), we can create a mol:stereochemistry aspect which itself had several properties and attach it to the Molecule aspect where appropriate.

It bears mentioning that ontological or philosophical considerations are not necessarily the most important in model definition. Functional considerations like ease of use are at least as important.
Robert

23 Apr 2009

Topics:

  • Safari's problem with cross-site scripting (not in firefox): The jmol menus do work in Firefox but not in Safari.

Try it yourself [2] with both browsers (admin:admin)

  • Content model for units of physical properties and text
  • How to include multimedia files (images and videos) into a content model for questions

19 Mar 2009

Topics:

  • Safari's problem with cross-site scripting (not in firefox): The jmol menus do work in Firefox but not in Safari.

Try it yourself [3] with both browsers (admin:admin)

  • Alfresco searching using better webscripts
  • TToC progress
  • Alfresco Content Model Properties vs. Aspects
    • Look into your own content models to see which is a better choice

Addendum: Xavier and Justin were discussing the Molecules Content Model over e-mail. The discussion has been made into a wiki page at Development:Molecular Structures Content Models.

05 Mar 2009

Topics: Note-taking Fail.

19 Feb 2009

Minutes:

  • The Alfresco Upgrade continues... Data has been transferred to the staging server. Users are encouraged to see what works and what doesn't on this Alfresco installation. http://content2.chemeddl.org/alfresco
  • Web Script locations were discussed.
    • In the current (v.2) Alfresco server, all web scripts are located in one folder (Data Dictionary/Web Scripts/org/alfresco/custom).
    • In the future, we will be placing the scripts in directories that will serve to identify and separate the scripts. For example, Data Dictionary/Web Scripts/org/chemeddl/video/ will contain scripts related to videos.
    • In addition, there is now a development, or testing, area for scripts that are not perfected yet. These folders will be located at Data Dictionary/Web Scripts/dev/
  • In the desc.xml file, it is imperative that the url (and shortname) is unique. This url should also reflect where the script actually is directory-wise.
  • once the desc.xml file is changed, you need to refresh the web scripts listing. (This can be accomplished by going to http://content2.chemeddl.org/alfresco/service/ and clicking 'Refresh Web Scripts'. Pay attention to the number of scripts if you are adding a new one)
  • We discussed the standardized presentation of images, poster images, etc. Likely it will be a 'lightbox' type gallery. It was brought up that there should be an easy way to download images for use in presentations, etc
  • An "Insert This" option was discussed for videos and Jmol applets. Users should be able to easily incorporate content into whatever platform they choose (i.e. Moodle)

05 Feb 2009

Topic:

  • Question storage and transformation to various LMS.

Minutes:

  • Web studio was discussed, including its ability to write xml, and the possibility of providing a template for those who want to add a page to the ChemEd DL.
  • Alfresco Share was also discussed, namely that it is built off of Web Studio, but less modification is infovled.
  • We discussed the possibility of taking web scripts and turning them into components, which could later be included in Moodle or iGoogle.
  • Alfresco 3 update in progress...
  • Thumbnails are currently 128x96 size
  • When working with web scripts, make sure the desc.xml file is updated to include a unique URL
  • Discussion about centralizing the jQuery folder (why have multiple copies floating around)
  • We touched on "Componentization" - Are our "atoms" videos, elements, questions...etc?

22 Jan 2009

Topics:

Minutes:

  • Alfresco v.3 update includes schema fixes. We will be testing to see if this facilitates our migration from version 2 to 3.
  • Javascript Frameworks Discussion:
    • ext seems to be mostly for application generation. It's been built, and you build around it.
    • jQuery is more computational. Base library, and then plugins to gain functionality.
    • YUI is a bit more verbose, more of a graphical framework.
    • It was decided that we will try and use Yahoo User Interface as a graphical framework, and jQuery as our library to use when developing plugins.
  • Jmol discussion. We currently use menus, checkboxes, and buttons from Jmol. It was proposed that we consider using one of our frameworks for an interface instead. We could use YUI or jQuery to do some of the Jmol layout/positioning, thus helping to simplify Jmol for the less technical user.
  • We discussed standardizing XML. If we do a search of our repository, what do we get back? Would it be consistent with the NSDL's XML form? It was suggested that we write an ftl file that will give back XML in the NSDL XML format.
  • In the new version of Alfresco, the content type models can be accessed and modified (with proper user credentials). While this allows for real time system changes (the server does not need to be restarted), it also begs the question of whether it is safe. Should there be a unmodifiable lower level area where these files go after we are certain they are 'stable' and in use.

08 Jan 2009

First meeting of the ChemEd DL Technical Group. Topics:

  • Purpose of the Technical Group (quoted from Jon's e-mail): "During these technical sessions we will do things like discuss XML data structures (content models and such), the underpinnings of Alfresco, building a RESTful API to access ChemEd DL content using Alfresco Web scripts, looking at what NSDL is doing in these areas and how we can integrate better with their work, building MediaWiki and Moodle extensions that use our API to integrate with ChemEd DL content, use of JavaScript libraries to build modern Web interfaces that interact with the ChemEd DL repository, and what ever other kinds of topics you wish to discuss."

Minutes:

  • Development server: [4]
  • Alfresco 3.0 Development server: [5] (standard interface), [6] (Share interface), [7] (Web Design).
  • Wiki Documentation on Dynamic Models, Web Scripts, and Web Studio. There are tutorials on using the Web Studio.
  • Keep in mind a future discussion of which javascript library we should be adopting as a standard. There is a comparison of common JavaScript frameworks at Wikipedia.
  • Play around with Alfresco Studio/Share interfaces and keep in mind for future discussions.
  • Look at Lucene Query Language for future discussions.
  • We need to work out how to consolidate all of the JCE DLib materials into the Alfresco repository.
  • We need to discuss a consistent RESTful API in the future.
Personal tools