hettiger / larapress

A Laravel 4 CMS – WARNING: This project is no longer being developed because there are many good alternatives now.
MIT License
155 stars 26 forks source link

What do you want larapress to be? #22

Open hettiger opened 10 years ago

hettiger commented 10 years ago

Give me some input. I'm very interested in your ideas! :-)

gnanakeethan commented 10 years ago

the idea is to make everything separated totally from each other. still being able to connect each other if available.

the extension manager should handle all of the extensions , locking the default ones from uninstall and removal.

plugins to be attached to the events as you know. plugins should be global - should apply to all of the site. and to be classified based on the relativity of function so we can reduce the overloading of useless plugins. plugins should have a plugin manager. generalized the editing of the plugins so other developers doesnt need to focus on the editing of the plugin, just on the functionality of it.

modules to be able to be placed anywhere in the template whenever possible. this also must have a module manager. there should be generalized editing functionality as like as on plugin manager.

the theme should be editable in a way that its easy to workout the template structure. the site should feature something like theme preview module positions. theme manager should be able to generate pages for admin if there is no admin pages defined in the theme. the generated pages should be able to provide configuration for website.

the administrator part also should feature theme option, so admin can enjoy unique variety of styles.

the administrator should be able to use modules specifically built for administrator and should be able to be installed via extension manager.

and the critical customization comes in with, Components of the system, each component should be placed inside a bundle which has coupled features. bundle can be either consisting of valid composer packages so they can be fetched and installed. for example: a content manager extension would be bundled with Media Manager and Category Manager. or requires them to be available in the system prior to installation of the content manager.

sorry for case -juggle typing, there are lot more ideas on this concept so everything can hook in.

regards, Gnanakeethan

hettiger commented 10 years ago

Thank you Gnanakeethan!

I like your idea of having everything separated. It totally makes sense.
The downside would be that it adds up when you simply try to get up and running quickly.
(when doing this the composer way for example)

I will try to find a good solution. Maybe having the key features always available with an opt-out option and adding more exotic features via composer packages or something like that.

I have to think a bit about all that stuff you stated here. I'll soon provide a more complete answer :-)

changwuf31 commented 10 years ago

Some ideas that comes to mind are:

sivaganeshsg commented 10 years ago

We should create blog / forum / e-commerce core .

hettiger commented 10 years ago

Thank you changwuf31!

Localization

This is an important topic and will become a core part.

Full AngularJS

I'm not quite sure about that. Angular is fun and a great tool. Anyways I'm not very experienced with it yet. I may utilize it for single views where it makes sense thought.

Usability is very important to me. No worries ;-)

hettiger commented 10 years ago

Thank you sivaganeshsg!

Forum and E-Commerce are both very big plans. It'd be definitely nice to have. For some projects they are absolutely essential and i clearly understand that it will be required sooner or later. Anyways I'm afraid but I don't think it would be realistic adding these to the feature list for a first release.

Besides that blogging will be a core part for sure ;-)

xtrasmal commented 10 years ago

Since you called it Larapress.. make it a WordPress clone? I've been working on a Larapress myselve. Actually called it larapress on the localhost as well. I was busy cloning the initial backend layout. I'm not planning any contributions yet.. cause I'm busy. But it would be great if there is an alternative for WordPress, built on top of Laravel. Cause you know what ppl do with wordpress.. they make it a frankenstein monster.

So make it a platform with installable components, so it can start as a user/role/login system(barebone) and have a blog component, then a forum component etc etc.

xtrasmal commented 10 years ago

I'd like to see it fully de-coupled from Sentry. Dependencies suck balls. Even if they are well maintained. I really hate being dependent on other packages.

hettiger commented 10 years ago

Thank you xtrasmal!

Not exactly a WordPress clone. I want to build something that is able to replace wordpress for customer projects. I also want something that has the power to be extended for all kind of projects easily. So I'm not quite sure if it'd be smart to adopt the complete concept of wordpress.

Sentry

You're absolutely right. It would be better that way. I'll add that as a proposal.

Max-Liu commented 10 years ago

Wordpress is a perfect option for the no coding background people but is a hell for PHP developer.One of the reason why i love Laravel is that it has very elegant code style and high extension.So I wish you could make Larapress more friendly to the developers like Laravel,to make the work much more interesting :-D. Extension manager should be core of any CMS system.Once you have the extension manager,you may accept pull request from other developer.It may make the progress of Larapress much faster:-).There is a another CMS call PyroCMS,they are moving to Lravel from Codeigniter.Their modules system is very nice,maybe you could take look at it :-)

hettiger commented 10 years ago

Thank you Max-Liu!

I think about wordpress and laravel the same way as you do. :-) I'll have a look at their module system for sure and do my best putting something flexible out there.

xtrasmal commented 10 years ago

Ok. When I got time I will clone Wordpress.

nadimtuhin commented 10 years ago

Ok first of all when I saw Larapress in laravel weekly moments ago I was shocked. Man you stole my idea. But I am eager to work with you.

I have worked with WordPress two years. More or less I liked the way it coupled things. Some architectures were good some were horrible. I wanted to mend up the horrific things. Lets start with small things. Then in 5 years it could be massive.

If Larapress manages to have some inspiration from wordpress she is gonna be a huge success. Only becuase millions of people work in wordpress atmosphere. Though they have poor skills. But hey we need to deal with this. Lets build some API that is easy enough for them to start. Maybe they are not going to start with this any sooner. But people like me who dont want to work with wordpress becuase its a mess would love larapress.

hettiger commented 10 years ago

Thank you nadimtuhin!

Sorry I had no idea but I'm glad you want to help the project.

I want larapress to become a tool for professionals. That means it must be great for rapid development as well as being super easy and intuitive to the customer. Satisfied customers are the best advertisement.

Wordpress is great for customers okay for developers but a nightmare once it starts getting complex. I want larapress to fix these issues and I'm glad if you consider contributing :-)

adis-me commented 10 years ago

Perhaps I did not read all of the available docs, but what are the plans on the editor? Markdown editor or WYSIWYG-editor?

Saving HTML in the database, or generating static files that will be served?

hettiger commented 10 years ago

Thank you adis-me!

The information below is not guaranteed to be final or complete. I'm open to alternative suggestions :-) As you can see I'm not really sure about the editor yet. But I don't want to use a markdown editor. Maybe later as plugin or something.

The content should go into the database but I'll take care of caching it :-)

Dependencies

Framework

Look and Feel

Auth

Editor

File Manager

Menu Manager

SEO

TDD

xtrasmal commented 10 years ago

dont forget to put in some nested set https://github.com/lazychaser/laravel4-nestedset/

xtrasmal commented 10 years ago

and a demo site

hettiger commented 10 years ago

Thank you xtrasmal!

I'll have a look at it :-)

Flynsarmy commented 10 years ago

I've never liked the WP templates stuff. A much better solution is layouts/pages/partials for building flexable websites. An example can be found here.

Essentially you make a HTML skeleton as a layout, add your pages (ie Contact Us, About etc) with page specific HTML in there and partials that form reusable parts of your site - ie shop:product_list_item for an individual grid item in your product list.

This solution lets you build any site you want without needing to leave the admin and has the added benefit of content blocks. In a page you drop {% content "Description" %} and when a client clicks the 'About' page in admin, they get a WYSIWYG 'Description' field.

Very handy stuff though I guess difficult to visualise if you've never done it before. This is what October CMS is doing and it makes a lot of sense.

xtrasmal commented 10 years ago

@Flynsarmy You can work like that in WP as well. I have a folder with partials, which hold different parts of the application. WP is a loop based object pooper, which has 2 objects(Page and Post) which can be extended to whatever you want by creating a custom post type which extends one of these objects. Btw, blade, twig, underscore and smarty among others have the same kind of syntax for including templates. Which you could also use inside your wordpress templates. I worked in WP, among others, for a long time and templates I have build have the cleanest look and feel of all the templates I encountered.

mikerockett commented 10 years ago

Hi there :)

I would really like to see more CMS's making good use of a content-type-driven architecture, much like Bolt, which I think is quite fantastic. I have been hopping between that and ProcessWire for my projects (one does things that the other does not).

Whilst I like them both, I would really like to see that kind of design pattern in a Laravel-backed CMS so that my other existing sub-apps (also built in Laravel) can be plugged in - making everything work in one place.

Specifically, I would love to see the fields system that ProcessWire has. Basically, you create the fields you'll be needing in your content (title, body, teaser, image gallery, etc), and then assign them to templates, which map to file templates. What's more: you can define the way in which these fields are laid out in the editing backend. Here's a decent example, from their "Skyscrapers" demonstration: http://processwire.com/skyscrapers/admin/page/edit/?id=5242

Because these two systems feature multi-content-types (Bolt) or data-driven-templating (ProcessWire), they are the only ones I use. It is the reason I don't use WordPress, or any other CMS.

It could be a really nice feature of LaraPress. Though, I disclaim: if it's going to be done, it must be done well. ProcessWire, for example, really does a fantastic job of creating the editing backend based on the fields provided. It's neat, it's tidy, and it renders documentation for clients null and void, simply because they'll sign into their accounts, load up a page to edit, and they'll already know how to do it. Simple, clean, effortless.

Think it's something worth considering?

mikerockett commented 10 years ago

Whoops - I see you already have something like this in mind: https://github.com/larapress-cms/concept

Still, I think it would be a fantastic addition to be able specify the layout for the backend editing pages. :)

hettiger commented 10 years ago

mike-anthony:

The concept is basically outdated. I'll update that as soon as I'm finished refactoring the current version. I may also add some UML diagrams then so people can start contributing easier.

Only problem is that I'm pretty busy in "real life" currently which does not allow me to move as fast as i would like to. But we'll get the stuff done for sure. (I'm in the middle of my wedding preparations and final exams)

If you have a look at the feature/refactor branch docs (themes.md i believe) you'll see that you can fully customize all views the way you want. Is that what you'd like to have?

mikerockett commented 10 years ago

I see. Well, I do hope that most of those features stay in the concept - they really are quite fantastic. :+1:

I'm in the middle of my wedding preparations and final exams

Well, congrats, and good luck with the exams.

I'm in the middle of my wedding preparations and final exams

It's really more of a backend feature - it isn't code based. For example, I could create a field for use in a content-type, and simply define its width to, say, 50%. I'd to the same for another field, and then they'd be displayed next to each other in the editing interface (provided they are side-by-side in the code definition). It really is a simple thing, but it makes a huge different to making the editing process for customers easier.

When you get some time, have a look at the processwire demo I mentioned above. You'll see how user-friendly everything is. :)

hettiger commented 10 years ago

Thank you mike-anthony, I'll have a look at it as soon as possible. It sounds very interesting.

mikerockett commented 10 years ago

Cool stuff :) Looking forward to Larapress :+1:

bakicdj commented 9 years ago

@hettiger, what is going on with this?

mikerockett commented 9 years ago

@bakicdj - I don't think Martin has enough time to commit to the project, which is completely understandable.

hettiger commented 9 years ago

@bakicdj mike-anthony is right. Unfortunately I don't have the time to commit to this project right now. Anyways It's not dead. Sometimes you have to set priorities. I hope you understand that.

bakicdj commented 9 years ago

sure, I understand..

thecotne commented 9 years ago

use file hostings like dropbox, google drive, onedrive, flickr for image and video uploads in cms i think this can be easily done with https://github.com/GrahamCampbell/Laravel-Flysystem

mateoprifti commented 9 years ago

Hello, I would suggest you should start a campaign so people who like the project and can donate, can give money for the support of this project. I think it's a good idea to jumpstart this project, create a stronger community and help you purchase OEM licence for software, such as the famous "imperavi redactor". I would also suggest you check out ImpressPages cms and see how innovatively they have implemented their localization to the core for pages and content. With all that said i wish you best of luck with this project. :)

lifehome commented 9 years ago

Hmm, this shocks me at first.

But before I give any comments on this project, I would start to wonder features like "file manager" are necessary or not? Or, they could survive in a plugin-way?

What I'm trying to say, is that we shall never step on a heavy-weighted pathway, that Wordpress are now into. Unless features are considered as "VERY IMPORTANT FEATURE" like routing, static views for certain usage, otherwise I wish this project could live with the word "less is more".

desertcrystal commented 9 years ago

I really love this project. It's also so funny hearing other people's comments. I had this exact same idea a while back (not long after you registered the domain name ;).
But it's only now that I'm realising just how important this project could be.

What makes Wordpress so amazing I believe are two simple things, 1) the simplicity of the Admin Interface (Posts/Media/Pages/Comments/Appearance/Plugins/Users/Settings) and 2) the diversity in Plugin support. I personally think these are the only things you should focus on, at least initially.

I would love to have Larapress as a V5/6 core extension (i.e service provider) to the Laravel project, which provides the framework logic for an Admin area and basic Frontend. Everything else would be a "Plugin" or a Larapress/Composer repository to the Larapress Core.
I would imagine the only real functionality the core should control would be a GUI Installer, Themes, Users, Settings & Plugins - everything else being extensions that can be added to the Admin area. Posts installed via a Posts composer extension, Media via a Media extension. We could then package everything together to provide a nice easy ZIP preconfigured for non-developers to install and use out of the box.

I have to say, I'm so sick of developing for Wordpress that I'm almost considering dropping my client support for it! It's wonderful for a user, absolute numbing pain for a developer or server admin. No-one should be forced to modify the wordpress core or debug less-than-beautiful code in my opinion. ;)

I guess my question is simply: what do we need to get this Larapress off the ground & where do we go from here!?! :')

3kynox commented 8 years ago

Hello everyones & hettiger.

Possible to be in contact with you hettiger ? I'm starting a similar project.

I hope to see you soon.

Best regards & Merry Christmas.