4
I Use This!
Inactive

News

Analyzed 1 day ago. based on code collected 1 day ago.
Posted over 15 years ago
Open source documentation Diem documentation is quite complete: 22 Reference Book pages +7 Diem Ipsum pages +7 Howto pages *2 versions (5.0 and 5.1) = 72 pages Untill today, only diem-project.org webmasters were able to write and fix Diem ... [More] documentation. That was a hard time. So I took some time to move all documentation to GitHub: Diem Documentation GitHub repo. Now you can create documentation issues, and even better, fork and improve it! Git branches are used to separate 5.0 and 5.1 documentation: 5.0, 5.1. The best thing is that diem-project.org pages are synchronized with the documentation repository. Each time we push to GitHub, the website is automatically updated, thanks to a post-receive hook. Synchronize a Git repo with a database In case you need, as I did, to update a database each time a Git repository receives data, this section may help you. Install a local repo on the production server As diem-project.org is itself a Git repo, I added the documentation as a submodule: git submodule add git://github.com/diem-project/diem-docs.git data/diem-docs Configure the GitHub repo Add a post-receive hook url to the GitHub repo. The url must execute a symfony action on the website. The symfony action So this action gets called each time Diem GitHub repo receives data. We need to fetch the files using Git, then read them to upgrade the database. // handle GitHub post-receive hook public function executeUpdateFromGit(dmWebRequest $request) { $this->forward404Unless($request->isMethod('post'));   $repoDir = sfConfig::get('sf_root_dir').'/data/diem-docs';   // include phpGitRepo require_once(sfConfig::get('sf_root_dir').'/lib/vendor/php-git-repo/lib/phpGitRepo.php');   // create a git repo instance $repo = new phpGitRepo($repoDir);   // run the synchronizer passing it the repo instance $synchronizer = new gitDocumentationSynchronizer($repo); $synchronizer->execute();   return $this->renderText('done'); } See the action code on diem-project.org GitHub repo To get new files from the GitHub repo I used php-git-repo, a lightweight PHP abstraction layer to Git. I create a phpGitRepo instance and pass it to my database-specific synchronizer. The synchronizer For each Diem branch (currently 5.0 and 5.1), the synchronizer will checkout the appropriate Git branch and update it from the server using php-git-repo. Then it compares files to the database content, and updates the database if needed. class gitDocumentationSynchronizer extends dmConfigurable { protected $repo;   public function __construct(phpGitRepo $repo) { $this->repo = $repo; }   public function execute() { $this->repo->git('fetch origin');   foreach($this->getBranches() as $branch) { $this->checkoutBranch($branch);   $this->updateBranch($branch);   $this->updateDatabase($branch); } } See the synchronizer code on diem-project.org GitHub repo If you find a typo on Diem documentation, or wanna see something documented better, feel free to create an issue. Or even better, fork the repository and pull your contribution request. Happy Dieming and stay tuned, Diem 5.1 is coming along very, very nicely! [Less]
Posted over 15 years ago
Open source documentation Diem documentation is quite complete: 22 Reference Book pages +7 Diem Ipsum pages +7 Howto pages *2 versions (5.0 and 5.1) = 72 pages Untill today, only diem-project.org webmasters were able to write and fix Diem ... [More] documentation. That was a hard time. So I took some time to move all documentation to GitHub: Diem Documentation GitHub repo. Now you can create documentation issues, and even better, fork and improve it! Git branches are used to separate 5.0 and 5.1 documentation: 5.0, 5.1. The best thing is that diem-project.org pages are synchronized with the documentation repository. Each time we push to GitHub, the website is automatically updated, thanks to a post-receive hook. Synchronize a Git repo with a database In case you need, as I did, to update a database each time a Git repository receives data, this section may help you. Install a local repo on the production server As diem-project.org is itself a Git repo, I added the documentation as a submodule: git submodule add git://github.com/diem-project/diem-docs.git data/diem-docs Configure the GitHub repo Add a post-receive hook url to the GitHub repo. The url must execute a symfony action on the website. The symfony action So this action gets called each time Diem GitHub repo receives data. We need to fetch the files using Git, then read them to upgrade the database. // handle GitHub post-receive hook public function executeUpdateFromGit(dmWebRequest $request) { $this->forward404Unless($request->isMethod('post'));   $repoDir = sfConfig::get('sf_root_dir').'/data/diem-docs';   // include phpGitRepo require_once(sfConfig::get('sf_root_dir').'/lib/vendor/php-git-repo/lib/phpGitRepo.php');   // create a git repo instance $repo = new phpGitRepo($repoDir);   // run the synchronizer passing it the repo instance $synchronizer = new gitDocumentationSynchronizer($repo); $synchronizer->execute();   return $this->renderText('done'); } See the action code on diem-project.org GitHub repo To get new files from the GitHub repo I used php-git-repo, a lightweight PHP abstraction layer to Git. I create a phpGitRepo instance and pass it to my database-specific synchronizer. The synchronizer For each Diem branch (currently 5.0 and 5.1), the synchronizer will checkout the appropriate Git branch and update it from the server using php-git-repo. Then it compares files to the database content, and updates the database if needed. class gitDocumentationSynchronizer extends dmConfigurable { protected $repo;   public function __construct(phpGitRepo $repo) { $this->repo = $repo; }   public function execute() { $this->repo->git('fetch origin');   foreach($this->getBranches() as $branch) { $this->checkoutBranch($branch);   $this->updateBranch($branch);   $this->updateDatabase($branch); } } See the synchronizer code on diem-project.org GitHub repo If you find a typo on Diem documentation, or wanna see something documented better, feel free to create an issue. Or even better, fork the repository and pull your contribution request. Happy Dieming and stay tuned, Diem 5.1 is coming along very, very nicely! [Less]
Posted over 15 years ago
Open source documentation Diem documentation is quite complete: 22 Reference Book pages +7 Diem Ipsum pages +7 Howto pages *2 versions (5.0 and 5.1) = 72 pages Untill today, only diem-project.org webmasters were able to write and fix Diem ... [More] documentation. That was a hard time. So I took some time to move all documentation to GitHub: Diem Documentation GitHub repo. Now you can create documentation issues, and even better, fork and improve it! Git branches are used to separate 5.0 and 5.1 documentation: 5.0, 5.1. The best thing is that diem-project.org pages are synchronized with the documentation repository. Each time we push to GitHub, the website is automatically updated, thanks to a post-receive hook. Synchronize a Git repo with a database In case you need, as I did, to update a database each time a Git repository receives data, this section may help you. Install a local repo on the production server As diem-project.org is itself a Git repo, I added the documentation as a submodule: git submodule add git://github.com/diem-project/diem-docs.git data/diem-docs Configure the GitHub repo Add a post-receive hook url to the GitHub repo. The url must execute a symfony action on the website. The symfony action So this action gets called each time Diem GitHub repo receives data. We need to fetch the files using Git, then read them to upgrade the database. // handle GitHub post-receive hook public function executeUpdateFromGit(dmWebRequest $request) { $this->forward404Unless($request->isMethod('post'));   $repoDir = sfConfig::get('sf_root_dir').'/data/diem-docs';   // include phpGitRepo require_once(sfConfig::get('sf_root_dir').'/lib/vendor/php-git-repo/lib/phpGitRepo.php');   // create a git repo instance $repo = new phpGitRepo($repoDir);   // run the synchronizer passing it the repo instance $synchronizer = new gitDocumentationSynchronizer($repo); $synchronizer->execute();   return $this->renderText('done'); } See the action code on diem-project.org GitHub repo To get new files from the GitHub repo I used php-git-repo, a lightweight PHP abstraction layer to Git. I create a phpGitRepo instance and pass it to my database-specific synchronizer. The synchronizer For each Diem branch (currently 5.0 and 5.1), the synchronizer will checkout the appropriate Git branch and update it from the server using php-git-repo. Then it compares files to the database content, and updates the database if needed. class gitDocumentationSynchronizer extends dmConfigurable { protected $repo;   public function __construct(phpGitRepo $repo) { $this->repo = $repo; }   public function execute() { $this->repo->git('fetch origin');   foreach($this->getBranches() as $branch) { $this->checkoutBranch($branch);   $this->updateBranch($branch);   $this->updateDatabase($branch); } } See the synchronizer code on diem-project.org GitHub repo If you find a typo on Diem documentation, or wanna see something documented better, feel free to create an issue. Or even better, fork the repository and pull your contribution request. Happy Dieming and stay tuned, Diem 5.1 is coming along very, very nicely! [Less]
Posted over 15 years ago
dmTalkPlugin provides an HTML/CSS/JS web chat. It allows to create rooms and chat without any registration. Try it online!
Posted over 15 years ago
dmTalkPlugin provides an HTML/CSS/JS web chat. It allows to create rooms and chat without any registration. Try it online!
Posted over 15 years ago
dmTalkPlugin provides an HTML/CSS/JS web chat. It allows to create rooms and chat without any registration. Try it online!
Posted over 15 years ago
Accessible from your admin interface, this bot lets you choose pages, then browse them like a unauthenticated visitor. It will report the status of your pages, detect errors and preload the cache. It can be used for automated functional tests.
Posted over 15 years ago
Sometimes, we want to be able to change some symfony config from the admin panel. This very simple plugin allows you to override any sfConfig app_* from the System > Configuration > Settings panel. You just have to create a new setting starting with the app_ prefix.
Posted over 15 years ago
Posted over 15 years ago
Sometimes you want to share your website pages with twitter. You can shorten the page urls with a JavaScript API, but it slows down terribly your website. This plugin asks only once for the shorten url, then cache it in database for later access.