donjakobo/A3M

Upgrading theme to Bootstrap 3 + Name structure changes (CI3 branch)

Closed this issue · 11 comments

So on my projects I have updated A3M to Bootstrap 3 and I plan to do the same in my development on the CI3 branch.

In addition to that I would like to change how controllers are named. Currently it is account_settings (with path of account/account_settings) and similar. I feel this is needlessly long and not needed since all the account and admin related controllers are in their respective folders. I would like to shorten everything (where possible) to just what the function of the controller is (so the link would be just account/settings).

Both of these are obviously major changes which will prove challenging to implement on webpages where A3M isn't on its own (so pretty much everywhere). At the same time though I think that this is acceptable for the CI3 branch, which will make the URLs look better, upgrade the theme and add new functionality. Since this is also a major upgrade for CI we should use this to do the same.

Thoughts?

I would think that the move to CI3 would allow for these changes, it isn't ever easy to do a 1-to-1 upgrade, but if you look at Twitter Bootstrap, they did the same thing, cut to V3 and you cut off V2 upgrade path.

I'd be ok with those controller name changes, they've bugged me for awhile too.

Same here. Is there anything else that you think should be changed or added? These two, I think, I can do (hopefully) over the weekend as I have done them already on my two other projects that use A3M.

One thing that I would like to add is public user profile.

You should probably create a milestones for CI2 and CI3 versions so that we can separate those two for the time being.

@AdwinTrave I made you collaborator, so in the future you can do commits etc;

I've already done public profiles, however, before I migrated A3M to github, I branched out early and now just do patches to my 'production' site at least. For an ultimate frisbee league: http://www.windsorultimate.com/

Example of my profile on the site:
http://www.windsorultimate.com/users/1/kuba

@donjakobo Looks nice. Is there a way to get just the core of that or do you think it would be better to start from scratch?

The question that presents itself is how far do we want to take A3M? Do we want to be more like CMS (by adding user groups, public profiles, etc.) or are we going to stick with specific limited functions?

I think A3M should stay as a limited in functionality as possible, we may have people that just use it for the oauth/auth logins and don't care for anything like profiles. I don't think we need to push it into the CMS landscape, there are plenty of apps trying to solve that problem.

A3M already provides things like multi-language support, so it is a great start to build a CMS (if that is what someone wants).

Just my 2 cents, but I wouldn't say "no" to profiles at a basic level.

I agree. Keeping it basic as a starting point would be best.

On the topic, I would like to discuss of changing how views are being loaded. Currently we load a specific view in which we load header and footer. I feel that this is a lot of repetition. I would like to propose creating a template and then load all the views like this:

$data['page_title'] = lang('website_account_settings');

$data['context'] =  $this->load->view('account/settings', isset($data) ? $data : NULL, true);
$this->load->view('template', $data);

This will load the page content and then insert it into the template, where it will be displayed between header and footer. So the view will be only concerned about what is actually going to be displayed when it comes to context and not about the header and footer.

So the template would be something like this:

<html>
<head><title><?php echo $page_title; ?></title></head>
<body>
<header><nav>
<!-- navigation -->
</nav></header>
<div id="context">
<?php echo $context ?>
</div>
<footer></footer>
</body>
</html>

I do also agree, was busy porting my a3m for codeigniter 3 to bootstrap 3, but I'm doing all the pages manually. This is far more easy to handle.

I have moved my experimental A3M page to Bootstrap 3 and made all the other changes that I proposed in here on my experimental page: http://a3m.freedombase.net/
With the template file there is also size reduction as well. Feel free to test and let me know if you find any issues. I will push it up to my fork once @donjakobo merges #69.

@donjakobo, @br13an please check out my latest commit on my repo: StorytellerCZ@08e9e99

It has all the changes I was talking about.

@AdwinTrave looks good to me.

@donjakobo You can see the live result here: http://a3m.freedombase.net/
Let me know if you register so that I can add you to the admin group.

I'll see if I can get a bit more extensive testing done with it before proposing a merge.