Eines per PHP
Packaging i/o deployment
Phing
- basat en Apache ANT
- fet amb PHP
- fàcil d'extendre
- es programa amb un pseudollenguatge fet amb XML
- optimitzat pel framework de Zend
- Usat a: propel, symfony2, xinc, etc.
- Funcions:
- configuring
- testing
- uploading
- testing
- build doc
- svn
- dbdeploy
PEAR
- uses package.xml file
- PFM editor generates XML config file
- dependencies support
- PYRUS pakcage manager for PEAR
PHP Maven
- Maven for building, reporting on and creating documentations of PHP projects
- fet en Java
- usa la seva estructura de projecte
Integració continua
Xinc
- escrit en PHP5
- Includes support for:
- phing
- subversion
Hudson
- fet i pensat per Java
- GUI per configurar-lo, no cal tocar la config generada en XML tot i que es pot fer si es vol
- CVS/Subversion
- RSS/E-mail/IM per informar dels estats de les itnegracions
- suporta plug-ins en múltiples llenguatges per extendre la seva funcionalitat
Cruise Control
- escrit en Java
- també és un framwork per crear build processes de forma continua
- suporta un munt de plugins per usar diferents sistemes de:
- source control
- build: phing, NAnt, ANT, Rake, etc.
- notification schemas
- interficie WUI
PHP UnderControl
- és un add-on del Cruise Control
- testing - phpUnit
- documentation - phpDoc
- code standard - CodeSniffer
Analitzador de codi
PHP Depend
PHP CodeSniffer
- PHP5 script that tokenises and “sniffs” PHP, JavaScript and CSS files to detect violations of a defined coding standard. It is an essential development tool that ensures your code remains clean and consistent. It can also help prevent some common semantic errors made by developers.
phpcpd
- Copy/Paste Detector (CPD) for PHP code.
PHP Mess Detector
- Possible bugs
- Suboptimal code
- Overcomplicated expressions
- Unused parameters, methods, properties
Sonar
- programat en Java
- extensible via: PHP, Flex, etc.
- demo: Nemo
- control de qualitat a partir de:
- arquitectura i disseny
- duplications
- unit test
- complexity
- pontential bugs
- coding rules
- comments
PHPLint
- analyzer of PHP sources
- independent scanner and parser
- all the informations collected from the sources
- used to generate the documentation
Related quality tools
- JSLint - JavaScript quality tool
- xmllint program parses one or more XML files, specified on the command line as xmlfile. It prints various types of output, depending upon the options selected. It is useful for detecting errors both in XML code and in the XML parser itself.
- Tidy - interesting and powerful HMTL validator
BBDD
dbdeploy
- Database Change Management tool
- for developers or DBAs
- evolve their database design – or refactor their database:
- simple
- controlled
- flexible
- frequent manner
i18n
Pootle server
- Also available online version
- Example: using pootle with symfony: post of Sergio Viteri
- Easy to install with many deployment options
- Packaged for many distributions
- Many supported file layouts and file formats, including pervasive support for XLIFF
- Upload support with different merge strategies
- Optional version control integration for both committing and updating cleanly
- Keep people informed
- Real-time statistics of strings, words, and errors
- Highlights errors in translation
- Event notifications using RSS feeds.
- User submitted news items.
- Upload files with different merge strategies
- Real time content searching with many options
- Easily search across all files in a project
- Fast text indexing
- Flexible permissions and authentication
- Support user authentication and/or anonymous contribution
- Support LDAP authentication
- Separate suggestion permission enables wide contribution with proper review by others (ideal for bug reporting)
- Assign permissions to various translators to perform different roles
- Support for captchas to keep your server safe
- Uses Unicode throughout so will work with any target language
- Teams can set goals (not available in version 2.0)
- Assign work to various translators (not available in version 2.0)
Eines d'Atlassian
JIRA: issues and projects
- bug tracking
- project tracking
- software development
- opensocial dashboards
- custom workflow
- reports and analysis
- plugins and extensions
Confluence: Wikis and collaboration
- intranet
- documentation
- konwledge management
- office and sharepoing
- plugins
Dev Tools
GreenHopper
- agile development
- SCRUM
- kanban (optmize process)
- Sprint and release planning
- Task and time tracking
- Charts and reporting
Crucible
- collaborative reviews
- asynchronous and online
- review iteratively
- JIRA integratrion
- pre and post commit
- high extensible
Clover
- Java code metrics
IDE connectors
- Eclipse
- Visual Studio
- IntelliJ IDEA
Fisheye
- browsing version control
- sharing
- visibility
- analysis
- JIRA integration
- plugins and API
Bamboo
- instant continuous integration
- easy adoption
- JIRA integration
- distributed builds
- reports and analysis
- plugins and extensions
Crowd
- Single Sign-On
- AD, LDAP and more
- OpenID
- Subversion
- Apache
- User management
- connector for Google Apps