= FOSSkriti Workshop = There was a hackfest for !SahanaPy at [http://techkriti.org/#/fosskriti-events/ FOSSkriti] on Feb 14th at 15:30 UTC This included a number of people - some were skilled programmers, some were new to this technology. Ajay was on site. Remote support was provided by Fran, Massimo, Satya, Chamindra & Dominic [nursix]. Photos: https://trac.sahanapy.org/wiki/DeveloperGuidelinesDeletableList IRC Logs: * [http://logs.qgis.org/sahana/%23sahana.2009-02-14.log #sahana] * [https://trac.sahanapy.org/attachment/wiki/FOSSkriti/sahana-classroom.log #sahana-classroom] * [https://trac.sahanapy.org/attachment/wiki/FOSSkriti/sahana-testing.log #sahana-testing] == 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 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] allows real-time group & 1-1 communication using low-bandwidth text * Pastebin allows people to share code snippets * For jQuery/HTML: http://pastebin.me/ * For Python: http://paste.pocoo.org/ * This Wiki can be used to draft up ideas. * Participants please ping flavour/ajuonline/nursix on IRC to get their Trac logins created * If necessary: [http://skype.com Skype] or [http://dimdim.com Dimdim] or [http://copilot.com CoPilot] == 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] * Setting environment for Testing/Development * bzr branch lp:~mdipierro/web2py/devel web2py * change your directory to applications under web2py tree * bzr branch bzr+ssh://hacker@demo.sahanapy.org/var/www/web2py/applications/sahana * Password : fosskriti * 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 * 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:BluePrintGISImportExport XML Import/Export] * [wiki:BluePrintReporting Charts/Reporting] * [wiki:BluePrintGeographicInformationSystems GIS] * [wiki:BluePrintMessagingModule Messaging Module] === 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]