Child pages
  • Sakai App Builder
Skip to end of metadata
Go to start of metadata

PAGE IS OUT OF DATE!!!

see the following pages instead:

https://confluence.sakaiproject.org/display/BOOT/Sakai+Wicket+Maven+Archetype
https://confluence.sakaiproject.org/display/BOOT/Sakai+Spring+MVC+Maven+Archetype

 

 

Information

The Sakai AppBuilder is a RAD tool that allows you to quickly create Sakai webapp projects in Eclipse that will work in the Sakai Framework. Use these as a basis for the projects that you want to make without all the busy work of creating the structures and adding in all the dependencies. You can choose various UI layer options and implementation types to get you started quickly. This will not write your entire app for your, but it should help you get started quickly.
Aaron Zeckoski (me) came up with the idea for this plugin and wrote the current versions so please contact me if you have questions or suggestions related to it.

Where do I get it?

The Sakai App Builder can be installed from within Eclipse using the built-in update feature as follows:

  1. Start Eclipse
  2. Under the "Window" menu, select "Preferences"
  3. Expand the "Java" heading on the left side
  4. Expand the "Build Path" subheading
  5. Single-click the "Classpath Variables" subheading
  6. Click the "New" button
  7. For the Name, enter "M2_REPO"
  8. Click the "Folder" button, then navigate to the location of your local maven 2 repository (you want the repository directory: ~/.m2/repository)
  9. Click "OK" to close the folder browsing dialog.
  10. Click "OK" to close the "New Variable Entry" dialog.
  11. Click "OK" to close the preferences window.
  12. Under the "Help" menu, select "Software Updates", then "Find and Install".
  13. Highlight the radio button marked "Search for new features to install", then click "Next".
  14. Click the button marked "New Remote Site".
  15. For the Name, enter "AppBuilder Site"
  16. For the URL, enter http://source.sakaiproject.org/appbuilder/update/
  17. Make sure the checkbox next to the new remote site is checked, then click "Finish"
  18. Check the box next to the latest version of Sakai AppBuilder, then click "Next"
  19. Read the license agreement, select the radio button indicating that you agree to the terms, then click "Finish"
  20. Select an alternate installation path if desired, then click "Finish" again
  21. Click "Install" on the next screen
  • Note: The plugin requires eclipse 3.2 or better

How do I use it? (plugin is installed, now what?)

Follow these steps to create a Sakai webapp starter project in eclipse:

  1. Click on File -> New -> Project -> SakaiProject -> Sakai App Project to start the wizard
  2. Enter a name for your project
  3. Change the directory location for the project if you don't like the default
    • Recommended: Use your local Sakai source root folder if you want your project ready to build, deploy, and run in Sakai (otherwise, you will have to move it and reimport it into Eclipse)
  4. Change the project key if you don't like the autogenerated one
  5. Select a UI display layer technology
  6. Select an implementation
    • Note: The directory structure only option will not produce a funcitonal app
  7. Click Finish to generate the webapp
    • Check the README file in the root of the new project for information on using the new project

Versions

  • 0.5 (Initial Release) - Sept 25, 2006
    • Build a functional tool to use as a basis for Sakai application development
      • Enter a project key and name which are used throughout the generated application
    • Choose from 3 display technologies (RSF, JSF, JSP)
    • Choose from 3 implementations
      1. Full CRUD app - a full 2 screen application which allows for creation, reading, updates, and deletes of items
      2. Hello World - a basic hello world app for those who want to start simple
      3. Directories Only - just the correct directory structure and maven project files for those who want to start with bare bones
  • 0.6 - Oct 12, 2006
    • Added support for Apache Velocity templates
      • Deprecated the old homegrown template system
    • Added an update site for the plugin
  • 0.7 - Nov 14, 2006
    • Corrected but that caused 0.6 to not update correctly
    • Added code to do better Sakai security (using Authz)
      • Add default security permissions demo code
    • Updated to use Generic DAO 0.8
    • Fixed a scope bug in the RSF templates
  • 0.77 - May 18, 2007
    • RSF updated to use 0.7.1 and new features for that version
    • Added ability to choose a package prefix (org.sakaiproject no longer required)
    • Fixed some template bugs
    • Added checking for reserved words in key and package name
    • Added extra comments
  • 0.82 - Aug 24, 2007
    • Added Maven 2 build options
    • Updated version of RSF, generic-dao, and other jars
    • Changed the created file structure to match with the new one at Sakai application (tool) structure
  • 0.9 - ??
    • Possibly add in velocity as a presentation option?
    • RSF OTP tool as an option?

Frequently Asked Questions (FAQ)

Where do I get the source?

Sakai contrib has the source for the plugin: https://source.sakaiproject.org/contrib/programmerscafe/appbuilder/
The source is licensed under the Creative Commons Attribution-ShareAlike 2.5 License.

Why didn't you include more display technologies or options?

Probably because I didn't think anyone wanted them. Send me a note if you have suggestions.

When I try to create a project in my sakai source directory (not using the default location) I get an error saying the project exists or I cannot create a project in that folder?

This is most likely caused because you are using Eclipse 3.1. Eclipse 3.2 is absolutely the lowest version you can use with this plugin safely.
If you are using 3.1 you can create the project and then move it to your Sakai source folder but that is dangerous. I recommend you upgrade to Eclipse 3.2.

  • No labels

10 Comments

  1. Is the readme file in the org.sakaiproect.xx.model package still current? It asks us to create a hibernate.conf file and place it somewhere in the project. Does the master/pom now take care of that or is that necessary to use the hibernate tools in eclipse? (Working with the trunk).

    Thanks,

    1. I second this comment. I also want to note that I do not have a Hibernate plugin in my Eclipse installation, and there was no mention that I could find in the Programmer's Cafe setup to install such a plugin, but the Model readme talks about using Hibernate menu items in Eclipse. Some clarification would help.

  2. The new version of the appbuilder is greatly appreciated. I have been able to import a new project, install it and deploy it but when tomcat tries to expand the war file I get an error I can't track down. The name of my project is RSFtest and the bean RSFtestItem can't be found and I get a fatal error. I checked to see that the class file is in the correct path ..../model/RSFtestItem.

    I suspect I have something amiss in the api .pom file?? The trace follows (any help would be appreciated):

    ERROR: Context initialization failed (2007-11-12 19:29:09,323 ContainerBackgroundProcessor[StandardEngineCatalina]_org.springframework.web.context.ContextLoader)
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'TLABPostProcessorLoader' defined in class path resource conf/rsf-config.xml: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopeAlterationWrapperProxy' defined in class path resource conf/rsf-config.xml: Cannot create inner bean 'RSACBridgeProxy$child#1bcb21' of type uk.org.ponder.rsac.RSACBridgeProxy while setting bean property 'value'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RSACBridgeProxy$child#1bcb21' defined in class path resource conf/rsf-config.xml: Cannot resolve reference to bean 'RSACBeanLocator' while setting bean property 'RSACBeanLocator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RSACBeanLocator' defined in class path resource conf/rsf-config.xml: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/sakaiproject/rsftest/model/RsftestItem
    Caused by:
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopeAlterationWrapperProxy' defined in class path resource conf/rsf-config.xml: Cannot create inner bean 'RSACBridgeProxy$child#1bcb21' of type uk.org.ponder.rsac.RSACBridgeProxy while setting bean property 'value'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RSACBridgeProxy$child#1bcb21' defined in class path resource conf/rsf-config.xml: Cannot resolve reference to bean 'RSACBeanLocator' while setting bean property 'RSACBeanLocator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RSACBeanLocator' defined in class path resource conf/rsf-config.xml: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/sakaiproject/rsftest/model/RsftestItem

    1. Oddly enough it looks like a capitalization error based on what you pasted. You might want to double check the caps and if you could, please paste in the exact settings you entered which generated the code.

  3. Unknown User (sswinsb2@une.edu.au)

    Hi Aaron,

    A few things:

    1. Instead of adding in Velocity as a presentation option (ugh), how about Wicket?

    2. Since Eclipse 3.4 I've had issues with using the update site, keeps saying its not valid etc. I just grabbed the jar from the site and manually placed it (just thought I'd add that (wink)

    3. Underscores are not allowed in the package name but they are legal (ie uk.ac.lancs.e_science is not valid in the app builder but a valid package name)

    4. Key Name needs an uppercase first character but this then makes an uppercase first letter project name? Not a big deal I guess, just Refactor>Rename to lowercase (smile)

  4. Hi Aaron

    I don't know what's really  happening with the update site, but ther JAR there isn't complete, so I grabbed the source code and recompiled. I tried it and seems to function properly. Can you check it up and if is OK add it to the update site URL? Grab the file here: http://babaloo.estig.ipb.pt/public/org.sakaiproject.appbuilder_0.8.8.jar

    By the way, nice work (smile)

  5. The update site no longer works so you need to install the plugin manually.

    1. Grab the latest from https://source.sakaiproject.org/appbuilder/update/plugins/
    2. Shut down Eclipse.
    3. Drop that jar into eclipse/plugins/
    4. Restart Eclipse.
    5. When creating a new project you'll get the option for a Sakai App project.

    Verified on Eclipse Helios.

  6. I did manage to get the update site to work. 

    I had to uncheck the 'Group items by category' option in Eclipse's 'Install new software' feature - then the appbuilder JARs are displayed.

    Now all I have to do is learn to use it to build a tool =)

  7. Any plans for an update to the app builder AZ? It is still binding to Sakai 2.6 and there have a been a few issues with it popping up on list. Or perhaps an RSF archetype instead?

  8. I have the same question of Steve. There is any plans?

    Thanks