|
Posted
about 14 years
ago
We've still got a little hacking time left in the 2011 Horde Hackathon, but we're about to relax for dinner for a bit, so now is a good time to wrap up some of the things that have been accomplished already:
We have a plan for making the Horde
... [More]
UI consistent between all applications and application views, as well as to make it look much better. Also to reduce the number of views we maintain, hopefully increasing our developer productivity
Some really snazzy automated updates coming for the demo server
The develop branch of nag now supports ajax completion of tasks, creating tasks, and basic viewing of tasks
Trean finally has a migration from folders to tags, with basic working functionality for viewing bookmarks with tags. This was on my list FOREVER.
Lots of good discussion about how we fit into the larger PHP and groupware ecosystem
New timezone support from Jan
New weather support to replace the now-commercial weather.com feed
New documentation tools
... and almost certainly a ton more that is slipping my mind right now. Going to miss everyone once we head our separate ways again tomorrow, but hopefully the momentum will keep up, and I'm really looking forward to next year! [Less]
|
|
Posted
about 14 years
ago
Our new libraries section has been started a while ago to further push the PHP components we offer. Now this section supports publishing the component documentation as well. You can take a look at the documentation of the Cli_Modular package for
... [More]
example. In fact: it is pretty much the only package that fully uses the new system already. So there is still work ahead. If you use any of the components: We are grateful if you start writing a bit of documenation or describe some examples on how to successfully use the package. It will help us and others tremendously. Thanks! Let me try to explain how the system is currently intended to work - feedback and critical comments of course welcome: When creating new documentation for one of the Horde components you start a new section on the developer documentation of our wiki. See the Horde_Cli_Modular link below Library components for example. Please note: It is not mandatory to write the documentation in the wiki. You can have static documentation files within a component as well. This is just meant as an option for those situations where it makes sense to work on documentation files together with people that do not have direct git commit access. Hopefully there will be many component consumers interested in updating and fixing the documentation.
How you structure that new section is up to you. For a simple package you might wish to keep all documentation in a single file but for the more complex one it might make sense to have several files. In that case the new section page should probably just be a link list to the various wiki pages that document the component. In case of Horde_Cli_Modular I used a single page.
Once the documentation has been written in the wiki format it is time to download it into the doc directory of the component. The horde-components helper is what you should use for that operation. The tool expects to find a DOCS_ORIGIN file within the doc or docs (for the applications) directory of the component. This file must conform to the reStructuredText format and map remote URLs to local file paths relative to the component root. The DOCS_ORIGIN from Cli_Modular links the wiki page exported as reStructuredText to the path doc/Horde/Cli/Modular/README. The links can of course point anywhere so you are in principle free to use any remote source. But you should ensure the page provides readable reStructuredText.
Now you can run horde-components fetchdocs and it should fetch the URLs into the respective local files. You can then run horde-components update to refresh the file list in the package.xml file if the documentation files were not included before.
Once a component was released we can now run something like this: horde-components Horde_Cli_Modular webdocs -D ~/git/horde-web/ --html-generator=git/horde-support/maintainer-tools/docutils/html.py --allow-remote in order to update the documentation on the website. Right now this does not happen automatically during a release but I plan to add this soon.
There are of course still a few problems with this approach: The reStructuredText exporter of our wiki engine "Wicked" is not yet complete. You may experience problems with the export if you use constructs it does not know yet. Please ping me if you experience problems with the export.
The wiki syntax and the syntax required by reStructuredText is not 100% aligned. You can write a wiki page that looks just fine but leads to errors or formatting problems in the reStructuredText export. After creating / updating a new wiki documentation page it make sense to run the horde-components fetchdocsTruncated by Planet Horde, read more at the original (another 531 bytes) [Less]
|
|
Posted
about 14 years
ago
The Horde continuous integration setup saw a major upgrade and a number of fixes during the last week. The take home message for everyone that does not wish to read the full log: ci.horde.org will now run horde/framework/bin/test_framework after a
... [More]
new commit has been pushed. This reduces the load on the system significantly and you will get results faster. If you develop Horde code you should run horde/framework/bin/test_framework as well in order to check if your recent commits could cause failures on our continuous integration server. The full recap of the recent changes: Update to the newest version of the Horde components tool. This allows to use the improved templating system.
New configuration and build templates that allow to reduce the job build time by avoiding to rebuild the set of package dependencies if this is not necessary. This has an important implication: A code change in one package (e.g. Horde_Imap_Client) will be tested against unchanged dependencies (e.g. Horde_Mime). Even if the commit also touched one or several of the dependencies (e.g. Horde_Mime). The packages should be backward compatible - so this should result in no error. The dependencies of one package will only get updated in case the dependency list in the package.xml of that package changes.
Running horde/framework/bin/test_framework has been integrated into the horde-git job. With the new "rebuild dependencies only when necessary" policy (see above) the component jobs do not fully test the integrity of the latest commit anymore. When the dependencies do not get updated the focus of shifts a bit more towards checking for backward compatibility. In order to not loose the integrity check for the "bleeding edge" our test_framework script is now executed right after updating the code from git.
Running test_framework also allows to run component jobs only if the code of the component has actually been touched. This significantly reduces the load on ci.horde.org as it removes the need for rebuilding all components for each and every commit.
An update to the newer CodeSniffer which included an update to the checklist for the Horde style. The new ruleset is available from our horde-support repository.
A customizable ruleset for the PHP mess detector has been added as well. We still need to tweak the exact configuration of PMD to match it with what we consider reasonable defaults for Horde code.
DocBlox has been added to allow generating experimental API documentation. DocBlox is significantly faster and less memory hungry than PHPDocumentor. It has already been adopted by large frameworks such as Zend. So I figured it is worth taking a look at it. Feedback welcome!
The Jenkins configuration has been updated with the latest fixes and improvements from the Jenkins-PHP project.
The setup procedure has been fixed so that it should be possible to generate a local setup - comparable to ci.horde.org - again.
[Less]
|
|
Posted
about 14 years
ago
You might have noticed that the Horde homepage received a new Demo button within the main navigation recently. We did indeed manage to get a demo machine up and running at demo.horde.org. The installation got updated to the latest releases just
... [More]
yesterday and Ansel - the Horde photo management application - got added into the mix. Feel free to test drive this new application as well as the other components on demo.horde.org. If you experience any problems please let us know. In principle you shouldn't be able to break anything on the installation. It is a virtual EC2 machine and we will update the image every once in a while when there are new releases available. Any data you store on the machine will be resetted at that point. You should also be able to mail to the two demo users [email protected] and [email protected]. Mailing to the outside is not possible - for obvious reasons. [Less]
|
|
Posted
about 14 years
ago
Horde_Push supports sending to blogger.com now.
The Horde_Push library is a tool to send content elements to various external services. Such as Twitter, Facebook, Blogger and others. Right now it only all
ows sending Tweets, publishing entries on
... [More]
blogger.com and sending e-mails.
The idea is to allow publishing content you curate on a Horde installation to the social networks out there. At the moment the code is not yet there as the
integration into the base horde package is still lacking. Right now there is only a small command line helper that I use for testing.
[Less]
|
|
Posted
about 14 years
ago
As you might know, the horde project does not only release a set of production quality software (and an interesting bunch more which are not yet release quality) but also provides over 80 well-designed loosely coupled libraries which help you build
... [More]
websites, business applications or even commandline tools. To stress that point, the Horde Project now put a link to the list of components right on their frontpage. Use Horde_Rdo, a lightweight ORM layer or use the RFC-compliant Imap_Client library which performs equally or even better compared to PHP’s interpreter extension written in c. Horde_Auth, a versatile and pluggable authentication layer, has recently been featured in a series of blog posts by lead developer Jan Schneider.
Like in Symfony or Zend Framework, Components are released along with a PHPUnit based test suite adapted in the Horde_Test class and can be obtained individually through the Horde Pear Channel. [Less]
|
|
Posted
over 14 years
ago
How to recover from filename case changes upstream
|
|
Posted
over 14 years
ago
I promised to look into generating a chart of the Horde login processes, and out came an activity diagram. I'm not perfectly happy with it yet, but it's being rendered automatically thanks to PlantUML and Graphwiz.
|
|
Posted
over 14 years
ago
This is the 2nd part of my adventures through the Horde authentication code. As promised, I'm covering transparent authentication and verification of existing authentication this time.
|
|
Posted
over 14 years
ago
Authentication in Horde is complex. Very complex. To help you (and myself) to understand how exactly authenticating to Horde works, I tried to dissect the processes involved.
|