= FOSSkriti Workshop = There will be a hackfest for !SahanaPy at [http://techkriti.org/#/fosskriti-events/ FOSSkriti] on Feb 14th at 15:30 UTC This will include a number of people - some will be skilled programmers, some may be new to this technology. Ajay will be on site. Remote support will be provided by Fran, Massimo & Satya (Chamindra & Dominic [nursix] will also be around) == Introduction == * Introductory Presentation: Ajay Kumar [ajuonline] * http://trac.sahanapy.org/Sahana_at_FOSSkriti_2009.pdf * Brief Skype Videocall on the tracks we will cover: Fran Boon [flavour] === Getting Started === * InstallationGuidelinesDeveloper * Using Transconnect for full Internet access (iitk network + bzr workaround): * Start up a terminal and run the following command * {{{export LD_PRELOAD=~/.tconn/tconn.so}}} * Verify that it works with {{{wget www.google.com}}} * Run all bzr commands from the same terminal. If you want to change terminals, repeat the export in the new one. * Using Bzr to work on the hackfest tree: * Note for Windows Users: DeveloperGuidelinesBzrWindows * Get a username/password for the hack server from Ajay or Fran * {{{bzr branch bzr+ssh://username@hack.sahanapy.org/var/www/web2py/applications/sahana}}} * hack * {{{bzr add && bzr remove && bzr commit}}} * {{{bzr push bzr+ssh://username@hack.sahanapy.org/var/www/web2py/applications/sahana}}} * Update the working-tree & reload Apache to see the results: http://hack.sahanapy.org/cgi-bin/hackfest.py * Ignore the 500 error! * DeveloperGuidelines === How to Communicate? === * [https://lists.sourceforge.net/lists/listinfo/sahana-maindev Sahana Developer Mailing list] can be used prior to & after the event. * [http://www.sahana.lk/chat IRC] * Pastebin * For jQuery/HTML: http://pastebin.me/ * For Python: http://paste.pocoo.org/ * Participants please ping flavour/ajuonline on IRC to get their Trac logins created for this wiki beforehand or ask one of the guys in #fosskriti. * [http://skype.com Skype] or [http://dimdim.com Dimdim] or [http://copilot.com CoPilot] (if necessary) == Tracks == * Sahana Module development: Ajay Kumar [ajuonline] * [wiki:DeveloperGuidelinesNewModule How to add a new Module?] * [wiki:BluePrintPersonRegistry Person Registry] * [wiki:BluePrintInventoryManagement Logistics Module] * [http://web2py.com Web2Py] framework for simple RAD web development: Massimo di Pierro [massimo] * [wiki:BluePrintFramework#Sub-menus Sub-menus] * [wiki:BluePrintRESTImplementation RESTlike CRUD controller]: * integrate tools.py's Crud Authorization * still using t2.itemize, t2.search & 1 instance of t2.delete (should be replaced, which may mean amending tools.py &/or sqlhtml.py) * rework our Audit to use tools.py's auth_events * JSON POST support * [wiki:BluePrintMany2Many Many to Many widget] * [wiki:BluePrintSynchronisation Synchronisation] * Extend the Languages support by integrating suggestions from [http://code.google.com/apis/ajaxlanguage/ GoogleTranslate] * Test _stamp_many() * Testing using Selenium: Satyakaam Goswami [satyag] * Functional Test cases will be created using [wiki:BluePrints BluePrints] * Download and install [http://seleniumhq.org/download/ Selenium IDE] * Read [wiki:DeveloperGuidelinesTesting#FunctionalTests Testing with Selenium] * [http://www.tux.org/~tbr/seleniumtesting/ Good read in order to Understand how Selenium Works ] * jQuery Enhancements: People already fluent with jQuery * Note the Production/Debug modes with compressed JS files: DeveloperGuidelinesReleaseProcess#CompressJSCSSfiles * Fix bug in [wiki:DeveloperGuidelinesDeletableList DeletableList]: #7 * Auto-complete widget (for when dropdowns get too long): * http://groups.google.com/group/web2py/browse_thread/thread/e1034df0091b5bfd * http://groups.google.com/group/web2py/browse_thread/thread/f6e0170273b14241 * http://www.pengoworks.com/workshop/jquery/autocomplete.htm * http://plugins.jquery.com/project/autocompletex * http://plugins.jquery.com/project/YA_AutoComplete * [wiki:BluePrintMany2Many Many to Many widget] * Advanced: Fran Boon [flavour] * if there are advanced Python developers who want a challenge then they can look at any of the BluePrints, e.g. * [wiki:BluePrintGeographicInformationSystems GIS] * [wiki:BluePrintMessagingModule Messaging Module] * [wiki:BluePrintReporting Charts/Reporting] * [wiki:BluePrintGISImportExport XML Import/Export] == Preparation == * Dedicated Server (Internet accessible): Courtesy [http://www.zen.co.uk Zen Internet] * Bzr repo people can check code into * Runs code live via Apache/mod_wsgi (remote admin permitted) * CGI for restarting Apache (& updating Bzr working-tree) * [wiki:InstallationGuidelinesXen Xen environment]