[[PageOutline]] = Getting Started = Writing extensions for proteios enables you to expand the application with your own actions and plugins. I'll start of by explaining the terms [#Action action], [#Plugin plugin] and [#Extension extension]. At the end of each term there is a list of examples for you to use and learn from. == First == 1. [https://proteios.org/trac/wiki/Installation Install Proteios] 1. Download [https://proteios.org/trac/export/3987/trunk/misc/myExtension/build.xml build.xml] into an empty directory 1. Run '''ant init''' to get sample code and setup source directory 1. Build the example extension with '''ant''' === Action === Actions are executed each time you click on something in the gui. It may be a link, column or button. Every link in proteios links to an action. Read more about how to ImplementAction. ==== Examples ==== [https://proteios.org/trac/browser/trunk/misc/myExtension/src/greg/ImportXFileForm.java ImportXFileForm.java] This action displays a form where the user can enter a string value. [https://proteios.org/trac/browser/trunk/misc/myExtension/src/greg/CreateXFileImportJob.java CreateXFileImportJob.java] This action creates a job using the ImportXFile plugin. === Plugin === A plugin is often a block of code that you want to execute at a later time using the job queue within proteios. Use plugins when your code takes long time to execute and you want traceability. Read more about how to ImplementPlugin. ==== Examples ==== [https://proteios.org/trac/browser/trunk/misc/myExtension/src/greg/ImportXFile.java ImportXFile.java] === Extension === An extension is basically a jarfile named '''ANAME.ext.jar''' which is put in servlet directory `/path/to/webapps/proteios/WEB-INF/lib`. This jar should contain action and/or plugin classes. The plugins available in extensions are available for installation from the gui(if you have administrator privileges).