Creating a Collaboration Platform (Leveraging the Django Eco System)

Post on 06-May-2015

652 views 0 download

description

From the DjangoVillage 2014 event at Orvieto (Italy). These slides are generated PDFs from the original presentation on slides.com (powered by reveal.js). I apologize for the poor quality. See the original at http://slides.com/bittner/creating-a-collaboration-platform

Transcript of Creating a Collaboration Platform (Leveraging the Django Eco System)

CreatingaCollaborationPlatform

LeveragingtheDjangoEcoSystem

liveslides@tinyurl.com/djangoeco

>whoamiPeterBittner

ex-javaheadofswd,ex-phpteamleadagilecto,entrepreneur

django@bittner.itgithub.com/bittner

Agenda1. ModernFairyTale(WithALotOfGrim)2. WhyDjango?(IsForTheLonesomeHacker)3. Research(TheDjangoEcoSystem)4. Development(StrategiesForTheLonesome)5. RealWorldExample(TheDemoYouDeserve)

*{

*Disclosure:bluntDjangopropaganda

ModernFairyTale(WithaLotofGrim)

CollaborationinaNon-ProfitNightmareonClubStreet

1. Severalpeople,differentbackground,commongoal,differentapproaches

2. Volunteersstartenthusiastically(website)3. Awebsitealonedoesn'tcutit4. Documentschaos(e-mails,dropbox,etc.)5. Notransparency,slowresponse6. Finger-pointingleadstofrustration7. Peoplequit

IHaveaDream"...thatonedaytherewillbeefficientonlinecollaboration"

1. Websitealwaysup-to-date(foreveryone)2. Everyone(!)cancontribute3. Fullcontrolovercontentgoinglive4. Wecoach&publish(wedon'twrite!)5. Issuelists,workondocuments,updates6. Everyonetransparentlyinformed7. Everyoneishappy&feelsheard

Can'tWeSolveThisProblemEasily?

Cloudplatformsexist,buttheyaresomuch1. revenue/CRM/PMfocused2. clutteredwithfeatures3. restrictive&administrativebynature4. apaintousewithinconsistentUI's5. expensiveforlargeaudiences

Alternative=DIYsoftwaresolution

WokeUpSoakingWet1. Nomoneytospend2. Noprogrammingresources(exceptyourself)3. Noalternativesleft

Musttakeatechnologyforlonesomehackers

WhyDjango?(IsfortheLonesomeHacker)

TheLonesomeHackerJobDescription

Choosewebframework&ecosystemIdentifyusableextensions/pluginsIntegratethemintoasingleexperienceFixshortcomingsofsingleextensionsAddmissingextensionsDowebdesign

WhyDjangoIsfortheLonesomeHacker

1. Allpopularframeworkshavebrokenecosystems(Joomla!,Wordpress,Drupal,...)

2. Djangotoo(notworsethantheothers)3. Python=executablepseudocode4. Django=forperfectionistswithdeadlines

tryitcustomizereadcode

Morereadingat:jacobian.org/writing/why-django/

youtube.com/watch?v=n8KnFywpXOE

Research(TheDjangoEcoSystem)

ResourcesExtensions/Packages="Apps"inDjango

WhereDoIFindDjangoApps?

...

bigbrotherofnsa(google)

djangopackages.comdjango-apps.comelweb.co/33-projects-that-make-devcharm.com/pages/79-must-have-django-packagescode.djangoproject.com/wiki/DjangoResources

Components1. CMS2. Blog3. Newsletter4. Events&calendar

CollaborationFeatures1. Sociallogin&userprofiles2. Usergroups&spaces3. Issuelists4. DMS(orintegration)5. Wiki(orthelike)6. Discussionforum(orthelike)

WhattoLookatIndicatorsforGoodApps(Projects)

commitactivity/lastcommitcommitcountfewopen/lotsofclosedissuesfewornoopen/lotsofclosedPRsdecentdocumentationdemosystemand/orscreenshots

ProbablyGoodChoices

Forums

CMS+Blog+Wiki

django-cms+django-blog-zinniamezzanine

askbot(Q&A)misago(forum)

emencia-django-newsletter

django-todo

mayan(scanneddocs)django-media-tree

django-allauthpython-social-auth

Sociallogin

Newsletter

Documents+Assets

Issuelists

MissingChoicesNo(Usable)Ready-to-UseAppsYet

Usergroups&spaces(django-activities)Userprofiles(django-userena)Integrationofdropbox&friendsIntegrationofchat/phone/videoservices

Development(StrategiesfortheLonesome)

LonesomeHacker'sAdvice

Belazy Don'twriteaplatformfromscratchDon'twritenewappsfromscratch

BeautonomousScript&automateeverythingWritetestsbeforechangingcodePrepareforexchangingcomponents

MakeyourlifeeasierPushyourchangesintoofficialreposBuildonworkofothers&shareDeployearly-inProductionenv

MoreAdviceNo-brainers

InfrastructureascodeFigureouthowother(successful)projectsdoitgoogle.com/search?q=django+best+practices

QualityiskeyDrasticallyimprovebadprojectsquickly(orkickthem!)Investinyourownproject!(docs,pep8,packaging)

FocusonyourMVPDon'tgetoverwhelmedbythevastchoiceNotedowninterestingprojects&buildaroadmap

BiggestChallengesToCreateaUniqueExperience

1. Integratesingleapps2. Everyartifactreferable(user,group,article,

blog/wiki/evententry,issue,...)3. Simplified,unifieduserexperience(front-end

editingforeverything)4. Combineintranetandpublicworld(without

confusingusers)

ObviousConstraints&DutiesForCreatingaProduct

OneappmustbeleadingsystemIntegrateintothisapp(e.g.plugins)MassiveintegrationtestsMassivecautionupgradingapps

RealWorldExample(TheDemoYouDeserve)

djangoOrganicepipinstalldjango-organice

CoreAppsdjango-cms(leadingsystem)django-blog-zinnia(blog,events,jobs)emencia-django-newsletter

InterestingtoMentionApptype=projectgenerator+metapackageThemesasseparateappswithassetpipeline(Bootstrap,Sass,UglifyJS2)

djangoOrganiceLonesomePrinciplesObeyed

1. Documentation2. Easytostart&getitworking3. Scriptsfor(almost)everything4. Rolemodels:zinnia,pootle,...

Questions?(I'llTrytoGiveGoodAnswers)

PeterBittner,django@bittner.it@peterbittner

Thedreamlivesonatgithub.com/bittner/django-organice

@organice_io

THANKYOUforyourprecioustime!

ImageCreditshttps://www.google.com/search?q=nightmare+elm+street(similarimagesearch)https://www.google.com/search?q=django+unchained(similarimagesearch)http://welcometoclubsilencio.blogspot.ch/2010_04_01_archive.htmlhttp://www.morgenpost.de/kultur/article112144530/Wie-Maerchen-der-Gebrueder-Grimm-jugendfrei-wurden.htmlhttp://www.philanthropyconsulting.com/2014/01/dream/http://beartoons.com/wp-content/uploads/2011/10/Bearman-Cartoons-Occupy-Elm-Street21.pnghttp://www.bluesoft.net.pl/wp-content/uploads/2014/02/django-logo-e1392910534114.pnghttp://disfunctions.de/ubuntu/der-ubuntu-software-store-zukunftsmusik/http://www.celarity.com/how-to-write-a-standout-job-description/http://www.startupfreak.com/the-missing-piece-puzzle-company/http://www.licensinglinenews.com/Newsletter/Edition-48-August-2007/National-Code-of-Practice-for-Induction-for-Construction-Work-declared.aspxhttp://carriekish.com/tag/leading-questions/