PHP content management system which tracks content through git - php

Are there any content management systems which use git for tracking content and support markdowns? I have heard of git-blog and WiGit , any other suggestions would be appreciated.

Take a look at Phrozn: http://www.phrozn.info/en/ - it's pretty much a port of Jekyll to PHP.

I made Orbiter (on GitHub) for creating simple websites out of markdown documents via PHP. It uses Mustache for templating and supports Markdown by default. It uses plain text files as source documents so you can use both Git and Dropbox for syncing the documents. It is also dynamic, which means you don't have to manually "generate" your website after every update.

Related

ExpressionEngine source control via git

Im stuck with supporting some ExpressionEngine sites and I'm trying to check this CMS into source control.
I am failing since I cannot see a way to decouple the database from the templates and other structures. I'd like to be able to version control aspects in the CMS including content and channel creation as well as template creation and modification.
I'm not sure why you say that EE is a legacy system, they actually just pushed out their v2.8 a few days ago and have been updating the system for years.
If you're familiar with WordPress, the process really shouldn't be too different. You need to save templates as files and version control those along with system files. You're most likely not going to be version-controlling the database similar to the way you wouldn't be doing that with WordPress.
Simply turning to Google would probably give you hundreds of answers about how to do this but I'll leave you with what I consider to be the most definitive reading on the subject:
http://devot-ee.com/articles/item/version-control-for-expressionengine-using-git-part-1
Have you saved the templates as text files? Once you do that, you can then just backup the template folder. http://ellislab.com/expressionengine/user-guide/templates/templates_as_files.html

Chrome Extension as GUI for JSON API

I'm working on some kind of a huge project using PHP which is a CRM and Smart Ticketing and Processing System for travel agencies and I'm planning to make it only available on chrome.
And I'm new to Chrome Extensions/Apps, But when i'm reading about creating extensions i surprised that i can create any html content with any JS codes included.
My questions are:
Can I include my application GUI with pure HTML && CSS && JavaScript in some extension and make it send/receive requests to my PHP-API Which already exist in my code since it's fully AJAX project?
And if this can be done; what do i have to create Google-Chrome-App or Google-Chrome-Extension And what is the difference between them and where to start reading about required solutions.
IF this can be done it will be perfect since the GUI elements (HTML, JS, CSS, Images, etc..) will be loaded from local store of each user/employee's machine and the only transferred data would be JSON requests.
Yes, you can create your GUI in pure HTML, CSS and JavaScript. This is actually the only way to make a GUI in Chrome extensions. Your PHP based API can certainly be accessed via an extension, if designed as a fairly typical client side accessible API.
Here's a brief description of Extensions and Packaged Apps:
Extensions are generally designed for augmenting the browser experience. For example, analyzing the pages the user is browsing and highlighting text. Chrome exposes several awesome APIs related to the browser and the browsing experience. However, it's just JavaScript, CSS and HTML, so it's definitely possible to take it a step further and create pretty much fully functional applications. However, there are no UI specific features in the Extension API that would make it easier to create a complex web app. This is not the purpose of Extensions. Look at the extension in the Chrome Web store to see some examples. Development documentation can be found here.
Chrome Packaged Apps allows you to develop a full blown desktop application using HTML, CSS and JavaScript. You can create complex applications with typical web technologies. This is a fairly new technology, but there's a lot of potential.
There is also the slightly confusing concept of a "Chrome App", which is really just a way to package a typical web application (or site) for display in the Chrome Web Store. This is not not really a development technology.
Keep in mind that Chrome Extensions and Packaged Apps are not drop-in UI frameworks for creating web apps. They are specific technologies for augmenting the browser experience and creating desktop-like apps, respectively.
For example, if you are creating Amazon.com you would not create the main website as an Extension or Packaged App. You would probably develop it using a typical web development stack and release it as a typical web site. Then, you might create a Chrome Extension that pops a window down in your Chrome browser and shows your recent orders, or that finds products on the Amazon store as you browse the internet, but you would probably not create the entire site as an extension.
With Packaged Apps you might create a desktop application that interacts with Amazon but this is really just a desktop application.
Yes of course this is possible but what you are making is a web application A chrome extension is literally a extension of chrome(which has to be installed) written in C or C++ (Just using javascript, html and css is possible). The handy thing about a web application is that it can be used (In every browser) without having to instal any extra components.
To be specific google has extensions and apps. With a specific chrome app you can do more than a regular web page. At first people would have to install the app and agree with the terms of use. this done you have more options in javascript which are normally forbidden for a casual webpage.
A extension is meant to add or change functionalities in chrome like adding your own video player extension to play avi or something like that. Not for building a web application.
If I where you just make a regular web application or create a chrome specific Packaged App.
In your case you are creating a private web application. If it is going to be used inside a lan you can just create a intranet and run your webapp there. If it has to be used global over the internet that you should just secure it with a login.
Or build a desktop application.

Make Smarty compile templates to memcache

I have a project that uses Smarty template engine (2.6). Point is I can't have it save files locally as it would mean saving to the repository. Same with cache.
My question is - how should I implement compiling templates to, for example, memcache?
I was playing with stream wrapper for it but maybe someone has a better solution?
Every repository system has means of excluding files from tracking. Which you have to use, instead of reinventing a square wheel
I don't think this is necessary. Smarty templates are compiled to PHP files and on runtime these PHP files are included, just like native PHP scripts. You can think of caching PHP scripts with APC or similar.
You can pre-compile the templates and ship them as a part of your application as read-only files. Thus it is not a decent solution it will work on such hosting environment.
If you are using Google App Engine with PHP you can use the cloud base storage as a stream with Smarty 3 to store all your files there.

Web application UI tool to use with PHP

i am new in PHP and i'm just asking what tool can i use to create my webstite using PHP and MYsql as my database so that i don't have to write the HTML code myself some FREE tool that provides drags and drops or something so that i'm concerned only by the business behind each part , PHP work, any help? :)
I have used Eclipse. It is free, it's not WYSIWYG, but it does include very good auto complete features. I'm not sure that you will be able to drag and drop an e-commerce solution, for example, from any editor, but there are plenty of good code samples you can cut and paste and begin to work from there.
You can use this editor: http://en.wikipedia.org/wiki/Quanta_Plus
Have a look at Weebly.
Weebly is an online, free widget-based Web site creator. It uses a widget-style format, allowing
users to create pages with only a few clicks by dragging and dropping
different page elements
You can try it for free, and pay the hosting.
There is no PHP integration support tough.
Agile Toolkit allows you to develop web app without writing HTML, but you still need to write some PHP code and learn. If you are looking for UI-only solutions, look at Drupal.

Joomla to Static HTML website

I have a Hindi magazine website hosted on Joomla. Though helpful from publishing point of view the site was a maintenance nightmare. Joomla is so much susceptible to hacker attacks. My host will often shut down my site due to bots attacking my website. Recently I relaunched the site as a new Wordpress based site on a different name. The Joomla based website would therefore never be updated anymore. However, I do want to maintain the old content. I have used PHP but hardly am a power user.
I want to convert the files as plain HTML. I created a mirror of the website using HTTrack. But thanks to the fact that Joomla had variety of URLs for the same page (if you used a SEF URL plugin you would understand) the mirror is full of redundant content. Moreover I have repetitive HTML content (for header,footer,menu etc) in each page.
My questions are:
Which is a better option, create a static HTML site or PHP4.x pages (with Unicode content and having include PHP fragments for repetitive content)?
If latter is better should I use template system like Smarty? I am worried about caching since the content will hardly be updated I want caches to last forever.
Thanks for the help.
If the content is not going to change frequently I recommend using HTML files. They are static and hence faster.
However, if you are going to be updating content frequently, then you can either upgrade to the latest version of any popular CMS preferably joomla or drupal. I cite these two because they are actively developed and you can get a lot of support for them on the internet. Be sure to follow their security guide for hardening your installation.
If I were you I'd move everything over to WordPress since you have started using this. This way you will be maintaining a single website application keeping things better manageable in the long run.
You can copy the data out of Joomla using the Joomla administration interface. Or maybe even quicker using a database tool like MySQL Tools or Navicat which has a lot of export options.
Copying the HTML from Joomla using tools like HTTrack or TelePort Pro will result in lots of duplicate code and pages like you state.
Maintaining an extra PHP site just for the old content will be as much effort as getting everything into WordPress.
The "Static Content" project at: https://github.com/juliopontes/staticcontent does exactly what you are after although it looks like it may need to be updated for Joomla 3.5.

Categories