SlideShare a Scribd company logo
1 of 25
Download to read offline
PloneIDE
               An IDE for plonistas by plonistas




Franco Pellegrini
frapell@ravvit.net
About Me
●   From Córdoba, Argentina.
●   Python developer for the past 8 years.
●   Plone developer for the past 6 years.
●   (kind of) active member of several FLOSS communities:

                                          ●   GrULIC
                                          ●   PyAR
                                          ●   Plone
                                          ●   Plone-conosur
                                          ●   Plone-es

●   Author or active contributor on some 3rd party products:

        ●   Products.ATSuccessStory                       ●   collective.facebook.accounts
        ●   Collective.newsflash                          ●   collective.facebook.portlets
        ●   collective.contacts                           ●   collective.polls
        ●   collective.twitter.accounts                   ●   collective.prettydate
        ●   collective.twitter.portlets                   ●   collective.weather
About Me

●   My first 5 years in Plone were made in “Menttes”.




●   On January 2012 founded “Ravvit”.
History
●   The idea started in my head around 4 years ago.

●   Based on the necessity of having better tools to help in the day-to-day job.

●   Alternatives:



                                 ●   Editor + Terminal

                                 ●   Emacs + PDB

                                 ●   Eclipse

                                 ●   Netbeans

                                 ●   WingIDE
Problems
●   Amount of windows to keep track of.

●   Time needed in order to get everything set-up per project.

●   System resources.

●   Speed.

●   Sessions.

●   Finding help.
Problems
●   A lot of products for developers:


                     ●   plone.reload
                     ●   sauna.reload
                     ●   iw.debug
                     ●   Products.PDBDebugMode
                     ●   plone.app.debugtoolbar
                     ●
                         collective.catalogcleanup
                     ●   PEP8 checkers
                     ●   PyFlakes
                     ●   Etc...
Bespin
                                     A light of hope


●   Code editor written entirely in Javascript

●   Maybe I can create an IDE exclusively for Plone that runs on top of Plone.

●   Advantages:


                  ●   No need ot keep track of so many windows

                  ●   Can access live code.

                  ●   Configuration time, almost none.

                  ●   It could allow remote coding.
Bespin
Too good to be true




Speed
History


         Bespin           Skywriter           Ace


I started to develop collective.ploneide as a proof of concept
Live Demo
   (The fun part)
The Future
The Future
More Python tools:


                ●   Introspection
The Future
More Python tools:


                ●   Introspection
                ●   Code completion

                ●   Navigation tree
The Future
More Plone tools:

  ● Paster integration
  ● “Frontends” for XML and ZCML

  ● Wizards for creating new content

  ● Code snippets
The Future
More Plone tools:

  ● Paster integration
  ● “Frontends” for XML and ZCML

  ● Wizards for creating new content

  ● Code snippets

  ● Syntax check for PT, ZCML

  ● Get useful info, like registered interfaces, views,

    permissions, CT information, etc.
  ● Create catalog queries

  ● Remote coding ?
The Future

More “General coding” tools:


  ●   Advanced search inside the PYTHONPATH.

  ●   Rename across the project.

  ●   SVN, GIT, etc integration
Motivation for this talk



Help me push it forward !
Clone it

git@github.com:collective/collective.ploneide.git
Questions ?
Thank you !
Franco Pellegrini

frapell@ravvit.net

“frapell” in #plone #plone-conosur #plone-es (Freenode)

@frapell

More Related Content

What's hot

Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)
Peter Kofler
 

What's hot (20)

Greach 2017 - Javaslang & Groovy: The best of both worlds
Greach 2017 - Javaslang & Groovy: The best of both worldsGreach 2017 - Javaslang & Groovy: The best of both worlds
Greach 2017 - Javaslang & Groovy: The best of both worlds
 
Ff os app demo
Ff os app demoFf os app demo
Ff os app demo
 
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
 
Javaday Istanbul 2017 - Test your Java applications with Spock
Javaday Istanbul 2017 - Test your Java applications with SpockJavaday Istanbul 2017 - Test your Java applications with Spock
Javaday Istanbul 2017 - Test your Java applications with Spock
 
Translating Fedora Documentation: Indonesian Team Perspective
Translating Fedora Documentation: Indonesian Team PerspectiveTranslating Fedora Documentation: Indonesian Team Perspective
Translating Fedora Documentation: Indonesian Team Perspective
 
Developer Flow
Developer FlowDeveloper Flow
Developer Flow
 
Vagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyVagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easy
 
Joomla!Day 2013 India
Joomla!Day 2013 IndiaJoomla!Day 2013 India
Joomla!Day 2013 India
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
 
【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編
 
Git: be social
Git: be socialGit: be social
Git: be social
 
T3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open SourceT3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open Source
 
apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...
 
JavaCro 2016 - Testing with Spock: The Logical choice
JavaCro 2016 - Testing with Spock: The Logical choiceJavaCro 2016 - Testing with Spock: The Logical choice
JavaCro 2016 - Testing with Spock: The Logical choice
 
Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Fun with Tic-Tac-Toe (2014)
 
Gpars Workshop 2014
Gpars Workshop 2014Gpars Workshop 2014
Gpars Workshop 2014
 
RigaDevDay 2016 - Testing with Spock: The Logical Choice
RigaDevDay 2016 - Testing with Spock: The Logical ChoiceRigaDevDay 2016 - Testing with Spock: The Logical Choice
RigaDevDay 2016 - Testing with Spock: The Logical Choice
 
Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with Groovy
 
An intro to Eleventy
An intro to EleventyAn intro to Eleventy
An intro to Eleventy
 
How to become a python developer?
How to become a python developer?How to become a python developer?
How to become a python developer?
 

Similar to Ploneide

Python Django Intro V0.1
Python Django Intro V0.1Python Django Intro V0.1
Python Django Intro V0.1
Udi Bauman
 

Similar to Ploneide (20)

Introduce Python
Introduce PythonIntroduce Python
Introduce Python
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
Advantages of Python Learning | Why Python
Advantages of Python Learning | Why PythonAdvantages of Python Learning | Why Python
Advantages of Python Learning | Why Python
 
Mixing Plone and Django for explosive results
Mixing Plone and Django for explosive resultsMixing Plone and Django for explosive results
Mixing Plone and Django for explosive results
 
Python Django Intro V0.1
Python Django Intro V0.1Python Django Intro V0.1
Python Django Intro V0.1
 
Building a Company atop of Open Source
Building a Company atop of Open SourceBuilding a Company atop of Open Source
Building a Company atop of Open Source
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporePrototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
Pentester++
Pentester++Pentester++
Pentester++
 
SoC Python Discussion Group
SoC Python Discussion GroupSoC Python Discussion Group
SoC Python Discussion Group
 
Kickstarting career as an Android developer.pdf
Kickstarting career as an Android developer.pdfKickstarting career as an Android developer.pdf
Kickstarting career as an Android developer.pdf
 
What is the price of open source
What is the price of open sourceWhat is the price of open source
What is the price of open source
 
LET'S TALK ANDROID Dev
LET'S TALK ANDROID DevLET'S TALK ANDROID Dev
LET'S TALK ANDROID Dev
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
 
Overcoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
 
Gsoc2012 checklist
Gsoc2012 checklistGsoc2012 checklist
Gsoc2012 checklist
 
Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)
 
Python for web development
Python for web developmentPython for web development
Python for web development
 
We Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeWe Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps Code
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 

Ploneide

  • 1. PloneIDE An IDE for plonistas by plonistas Franco Pellegrini frapell@ravvit.net
  • 2. About Me ● From Córdoba, Argentina. ● Python developer for the past 8 years. ● Plone developer for the past 6 years. ● (kind of) active member of several FLOSS communities: ● GrULIC ● PyAR ● Plone ● Plone-conosur ● Plone-es ● Author or active contributor on some 3rd party products: ● Products.ATSuccessStory ● collective.facebook.accounts ● Collective.newsflash ● collective.facebook.portlets ● collective.contacts ● collective.polls ● collective.twitter.accounts ● collective.prettydate ● collective.twitter.portlets ● collective.weather
  • 3. About Me ● My first 5 years in Plone were made in “Menttes”. ● On January 2012 founded “Ravvit”.
  • 4. History ● The idea started in my head around 4 years ago. ● Based on the necessity of having better tools to help in the day-to-day job. ● Alternatives: ● Editor + Terminal ● Emacs + PDB ● Eclipse ● Netbeans ● WingIDE
  • 5. Problems ● Amount of windows to keep track of. ● Time needed in order to get everything set-up per project. ● System resources. ● Speed. ● Sessions. ● Finding help.
  • 6. Problems ● A lot of products for developers: ● plone.reload ● sauna.reload ● iw.debug ● Products.PDBDebugMode ● plone.app.debugtoolbar ● collective.catalogcleanup ● PEP8 checkers ● PyFlakes ● Etc...
  • 7. Bespin A light of hope ● Code editor written entirely in Javascript ● Maybe I can create an IDE exclusively for Plone that runs on top of Plone. ● Advantages: ● No need ot keep track of so many windows ● Can access live code. ● Configuration time, almost none. ● It could allow remote coding.
  • 8. Bespin Too good to be true Speed
  • 9. History Bespin Skywriter Ace I started to develop collective.ploneide as a proof of concept
  • 10. Live Demo (The fun part)
  • 12. The Future More Python tools: ● Introspection
  • 13.
  • 14.
  • 15. The Future More Python tools: ● Introspection ● Code completion ● Navigation tree
  • 16. The Future More Plone tools: ● Paster integration ● “Frontends” for XML and ZCML ● Wizards for creating new content ● Code snippets
  • 17.
  • 18.
  • 19.
  • 20. The Future More Plone tools: ● Paster integration ● “Frontends” for XML and ZCML ● Wizards for creating new content ● Code snippets ● Syntax check for PT, ZCML ● Get useful info, like registered interfaces, views, permissions, CT information, etc. ● Create catalog queries ● Remote coding ?
  • 21. The Future More “General coding” tools: ● Advanced search inside the PYTHONPATH. ● Rename across the project. ● SVN, GIT, etc integration
  • 22. Motivation for this talk Help me push it forward !
  • 25. Thank you ! Franco Pellegrini frapell@ravvit.net “frapell” in #plone #plone-conosur #plone-es (Freenode) @frapell