sakai tool naming tips
Download
Skip this Video
Download Presentation
Sakai Tool Naming Tips

Loading in 2 Seconds...

play fullscreen
1 / 11

Sakai Tool Naming Tips - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

Sakai Tool Naming Tips. Aaron Zeckoski [email protected] Many tools exist in a typical Sakai installation As a developer, you have to be careful when working in a large scale environment The primary issue is with naming collisions

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Sakai Tool Naming Tips' - lydia-robles


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sakai tool environment
Many tools exist in a typical Sakai installation

As a developer, you have to be careful when working in a large scale environment

The primary issue is with naming collisions

Some names must be unique in the Sakai instance (not used by any other installed tools)

Tools have many interconnections and use a custom request cycle so some programming practices must be followed

Sakai tool environment
namespace collisions
Most namespace collisions will cause an error to occur on tomcat startup

Typically you will see that part of the spring tree died and therefore all spring beans are destroyed

Sometimes Sakai will still load but the offending tool will not

Tip: Watch tomcat logs when starting up new tools

Namespace collisions

URL: http://bugs.sakaiproject.org/confluence/display/BOOT/Sakai+app+and+tool+naming+tips

sakai tool xml file naming
The tool id (e.g. sakai.tasklist) in the tool xml file must be unique

Typical id is sakai.toolname

Tool xml file located in tool/src/webapp/tools/

Typical filename is sakai.toolname.xml

Sakai tool xml file naming

title="Programmer's Cafe - Task List"

description="Programmer's Cafe - Task List">

sakai project xml naming
The id (e.g. sakai-tasklist-tool) in each project.xml file must be unique

Typical id is sakai-toolname-location

Maven project.xml files are located throughout a typical Sakai app

Sakai project.xml naming

3

../../master/project.xml

Programmer's Cafe - Task List

sakaiproject

sakai-tasklist-tool

${sakai.version}

...

spring bean naming
The id (e.g. org.sakaiproject.logic.CrudPlusLogic) of each bean in components.xml must be unique

Convention for the id is to use the fully qualified classpath of the interface for the class

component.xml must be located in impl/pack/src/webapp/WEB-INF/

Spring bean naming

"http://www.springframework.org/dtd/spring-beans.dtd">

class="org.sakaiproject.crudplus.logic.impl.CrudPlusLogicImpl"

init-method="init">

database table naming
Database table names have to be unique since Sakai shares a common schema (or database)

Convention is to prefix the table name with the tool name (e.g. TOOLNAME_TABLE)

Good names:

SAM_ANSWER, EVAL_ANSWER, GB_GRADES

Bad names:

ANSWER, GRADE, CONFIG

Database table naming
hibernate hbm files
All Hibernate HBM files have to have unique names since Sakai uses one common Hibernate SessionFactory

Convention is to prefix the hbm filename with the tool name (e.g. ToolnameItem.hbm.xml)

Good names:

EvalAnswer.hbm.xml, TasklistTask.hbm.xml

Bad names:

Answer.hbm.xml, Task.hbm.xml, Item.hbm.xml

Hibernate HBM files
hibernate persistent classnames
All Hibernate persistent classes must have unique classnames (this does not include the fully qualified classpath)

Convention is to prefix the class name with the tool name (e.g. ToolnameItem.java)

Good:

EvalAnswer.java, TasklistTask.java

Bad:

Answer.java, Task.java

Hibernate Persistent Classnames
web xml servlet name
The servlet-name in the web.xml file must match the tool id from the tool xml file

web.xml is located in tool/src/webapp/WEB-INF

If this does not match you will get an uninformative NPE (Null Pointer Exception) in the tomcat log and the tool will fail to load

web.xml servlet name

sakai.tasklist

org.sakaiproject.tool.tasklist.TasklistTool

1

ad