I have to learn TYPO3 4.3 for my new job (I don't have much time). I already grasped some back-end stuff and basics of typoscript, but since I learn best by doing, my first goal is to build a blog based on that CMS. I don't want to use any existing blog extensions, because I want to learn to write them myself. I want to be able to tag pages (my blog entries) and enable users to put comments under the blog entry - the usual wordpess stuff.
Could anyone give me some tips and point me to places with some useful resources, so I can reach my goal?
I recommend you try the new extension framework "extBase". There's a book which walks you through the creation of a blog example extension.
Unfortunatly the book is only available in German, but there's an effort under way to translate it to English. With a little help from Google you might be able to find an English version (translation in progress) of the book online...
The blog example extension is also available in the public extension repository: http://typo3.org/extensions/repository/view/blog_example/current/ or http://forge.typo3.org/projects/typo3-mvcblogexample
You can find some good developer tutorials at typo3 wiki: http://wiki.typo3.org/Overview_Developer_Manuals. There is also some documentation about extBase.
You can use the news extension (tt_news) plus the comments extension together to form a basic blog within minutes (well maybe an hour or so with some styling), no coding required.
We have an editors guide available at http://www.seethroughweb.com/typo3-support.html, which doesn't go into development at all, but is helpful for getting a handle on how editors can work with a site.
Simon
As TYPO3 is an open source project, and all extensions are open source too, the best way, it's to analyze them, and to hack.
So, You should install some extensions, which are near on functional level to Your future blog extension and simple enough, and to hack it in different way, using version control to have the possibility to backup Your experiments.
Extensions, which I could advice You : comments, tt_news.
Probably You will need some time in the begining to install and configure these extensions.
Use existing extensions. That's the best advise. Because those were tested by many users.
But if you want to write an own version, buy some books (for old or new way) and take an existing version as example.
Related
I have been working on Magento for the last few months. I want to develop modules in Magento but my question is how can I start to develop for it?
1) What are some of the basic needs to create a module?
2) What type of xml files settings need to develop module and why?
If someone could also provide a diagram of the overall architecture of a Magento module, that would be great.
You can find here a nice tutorial: http://www.smashingmagazine.com/2012/03/01/basics-creating-magento-module/.
This one is nice also: http://code.tutsplus.com/tutorials/magento-custom-module-development--cms-20643.
There are a lot of resources like this online. If only there was a tool to search for them...
If you are a beginner, you can use a module creator.
You will use it even if you are an advanced magnento developer because you don't want to do the same thing over and over again.
I can recommend you this one: https://github.com/tzyganu/UMC1.9. It's pretty advanced and does a lot of stuff, not just a simple module.
Or this one. http://www.silksoftware.com/magento-module-creator/. This has the advantage of being on online and you don't have to install anything to use it.
Actually i am using sugarCRM open source for my own purpose. That was developed by PHP in MVC format. I want to do some changes in existing file. I cannot modify the any code at any cost, because i cannot understand the flow of the code. In sugar CRM having many folders and files so that was difficult to understand the code flowing.
Exactly what i am expecting is, atleast one module is how is flowing with the code and what is the exact file path...
Very Big thanks in Advance...
Have you checked out the Sugar Developers website? There are tutorials and other information about developing for Sugar.
Sugar Developers website is a great source but you could also use documentation where you could find for each SugarCRM Flavor a Developer Guide, and since 6.3 an API Documentation and a Schema Documentation.
Sugar modules are in /modules but you don't want to edit these as it is not upgrade safe. To make a modification you either use or create the relevant folder in /custom/modules
Most often you will be doing metadata updates (most functionality is metadata driven) in files like editviewdefs.php, listviewdefs.php in the custom folder.
Logic hooks can go in here too, search for logic_hooks.php in the sugar documentation as it shows the way to create the metadata array to reference new PHP functions on hooks like "before_save", "after_save" and others.
Sometimes you can start the customisations in Studio (admin menu) and get examples generated in the custom folder for you.
The deeper I get with Drupal the more I have to make changes to code within other people's modules. These are usually small changes, and so far it doesn't make sense to rewrite the module's functionality for my own needs.
I'm trying not to make any modifications to Drupal core since that just seems like asking for trouble.
But sooner than later, I'm going to need to update these modules with new releases and then repatch my changes back in. How do you stay organized when making these changes, upgrading modules, and re-applying your changes back?
I'm taking as many notes as I can but the spiderweb is growing around me!
Another key is to maintain explicit .patch files for any changes you make, and include documentation with them. If you have to upgrade to a new version of a module, install the clean copy and re-apply the patch. If it doesn't re-apply cleanly, you know you've got a problem.
That's where maintianing your own source tree in SVN/git/etc can be handy.
Do you change the module in a way other people may benefit?
Then send the patch to the module maintainer, so everybody benefits and you don't have the trouble to stay organised.
There is a good discussion in this question.
I particularly like Nick Sergeants article describing a method where you checkout the Drupal sources via CVS and then control your changes and the CVS records using SVN.
You only have the two already mentioned Options.
1.) If your changes can benefit the community then give back and hopefully it will become Part of the next release.
2.) If your changes are to specific and fit only your needs than your only chance to stay organized is setting up your own VCS (e.g. Subversion) and learn to use it properly.. ;)
There are some good infos on using Subversion with drupal on the Drupal.org site.
There is also a new Module available that allow you to capture some features into your own modules (e.g. features (http://drupal.org/project/features)). I have not much experience with it but maybe this is also a solution for you.
The way that Eaton describes above tends to be how we handle the situation for relatively large sites. If you keep a running log of patches, you can always re-create changes.
One of the aspects that seems to be missed in a lot of the "submit back to the community" posts is that just because you submit it back to the community doesn't mean it'll ever get applied. The way we handle this scenario is by keeping an explicit patch file with an indication of what D.O. issue it's related to. In the case where the patch is eventually integrated, you can remove your patch and pat yourself on the back. In the scenario where your patch is never accepted, at least you still have your log.
The book Leveraging Drupal: Getting Your Site Done Right (Wrox Programmer to Programmer) describes workflow and developing sites with cvs/svn from the beginning.
It's only $32 free shipping at amazon right now (as low as $24 used but remember $4 shipping you might as well get it new. I recommend checking your library for it, if they don't have it try inter-library loan. But this book describes exactly what you are seeking, step by step.
We're planning on setting up a website for student group - most of the content is fairly static but certain portions such as events and members would turn up from the database. I've never worked with PHP much, and was wondering would a CMS system like Drupal or PHP Nuke be appropriate for this kinda work?
Is there anything else that would allow me to go about creating a template and then reusing it across the website?
Drupal would be a very good choice for this. It has its learning curve, - anything you choose will. But eventually the light bulb will go off and you'll see how logically its organized and how flexible it is to extend.
And there are vast resources available to help you get up to speed quick. Tutorials and videos touching all angles of how Drupal works. And then there are uncountable quantity of themes, hundreds of add-on modules of every kind.
With a handful of additional modules added to the core distribution (cck certainly, maybe views and taxonomy too) you can configure basically everything and not ever touch a line of PHP code.
It is extremely simple to install and get started with. I have both Drupal 5 and 6 running under xampplite on a lil MSI netbook! .. Downoad and be up and running in under 15 mins.
You can try out all of the CMS available # http://php.opensourcecms.com.
I've never used PHP Nuke before, but Drupal can easily do the job.
Check out the Calendar module in Drupal for the event function.
Try out Joomla! works the best not just in content management but also theres extensions that you can use to allow users to book meetings and schedule events. Easy and simple.
Try out the +Joomla! instalation and hosting and just worrie about contents! They will put the rest working for you for super cheap price.
I recommend Joomla 1.5. It is easy to use and tons of resources on the web. Good for newbie.
I'd have thought this would be a native feature (seeing as joomla allows you to connect contacts with user accounts) but we can't find any way to do this!
Does anyone know of any extensions/modules that would allow this?
I'm not so hot on PHP so i'd really love to not have to code this by hand!
This is an old thread, but since it is still opened maybe you haven't found a solution yet. I faced the same problem myself and I think having the ability to manage contacts from the frontend is an essential feature for Joomla! to become more usable as a simple webapp creation tool.
Anyway, there are a couple of extensions that might help you out. However, both are commercial and don't support Joomla! 1.6. Here they are:
Front-edit address book: simple
interface. Note, however, that there
might be a security issue with
it. Google "front-edit address book exploits" and you shall find it (sorry, stackoverflow lets me post a max of 2 links per thread since I'm a new user). I emailed the developer and he assured me that the problem was already fixed, though.
Grumpy contacts: on the demo site (there's a link at the page I pointed you to), it looked a little messy to my taste. In the Joomla! Extensions Directory, however, it has good reviews.
I never used any of those since all my projects are already migrated to Joomla! 1.6.
If you found another alternative in the meantime or even developed something yourself, please let me know.
Do you try in the user menu?
Another option would be install Community Builder.
Good luck!
Contacts in Joomla are handled by the builtin com_contacts compoment which provides basic functionality for adding contacts and some basic info from the back-end.
QContacts is a wonderful extension which gives you some more control over the data you can provide, but still no front-end support.
Unfortunately I am tackling this issue as well and it turns out there are no real out-of-the-box options for supporting front-end editing of contact details.