laravel-admin-starter icon indicating copy to clipboard operation
laravel-admin-starter copied to clipboard

Feature requests

Open greenlevel opened this issue 6 years ago • 11 comments

Hello @bpocallaghan

I read on a previous issue that you want to rewrite the code from beginning.

After successfully installing the site in homestead, I came across some questions which you maybe can take notice off when rewriting the project.

  • Loading time. Overall the site loads pretty fast, also admin. But sometimes it takes a bit when clicking on specific category or page. Is this normal and just the way laravel based sites loads? Or can it be made that it loads really fast. like click and 'bam' it's there (assuming that the content size is just normal of course).

  • I like it that you have integrated a gallery system in the admin, however i miss the option that you can reorder the images after uploading. I like the function that you can just reorder the images by moving them around with your mouse.

  • By the admin blog section. You have the gallery function on a different page. I prefer having everything on 1 page, so its faster to fill everything in and upload the images you want with the specific blog. Same as what you would have with a page when you add a gallery component it shows on the main edit page.

  • When adding images on a blog gallery. Instead having to refresh yourself, it's maybe nice that it refreshes automatic so you can see the results immediately. (when i uploaded the images, i overread your description, and was confused first what to do as i didn't see a 'save' button only a go back button.)

  • your overall site is pretty complete already. Both admin / front. The only main thing i miss is a search function in the front.

Maybe there are some more points which would be a nice extra feature but this is what i noticed when just checking it out.

But overall very good job on this admin package. The last week i have checked out many different packages (also big commercial ones) and all of them have their short comings. This is one of the nicest i came across.

greenlevel avatar Jan 06 '18 04:01 greenlevel

Things I missed and can come up with now:

  • editing the password, by the user itself (now a readonly field)
  • resetting the password from admin (send reset mail)
  • more modularity regarding installed modules, most functionality isn't needed like Gallery/blog, but can be dropped in later with their own migrations and seeders.
  • putting the logo's into the settings table (also, the svg has troubles loading at times; probably some weird cache or bad header)
  • move slug generation to a more mature package like cviebrock/eloquent-sluggable - which can handle multiple sources (unless I'm wrong about BP's own package).

& I second @greenlevel 's last phrase.

xewl avatar Jan 07 '18 22:01 xewl

Hi Guys. Sorry for the late reply - slowly getting back into swing of things after the holidays (was away from home for a bit) Thanks for the feedback - really appreciate it. I agree with your suggestions, a little background and current status. This started off being a 'starter project' for my smaller freelance projects and figured I share with the community. Currently use it for freelance and work projects and add new components/modules based on current project I'm working on and do updates/rewrites here and there. I work full time and have a big freelance project I am working on after hours, this unfortunately limits my time a bit as I want to add so much more :) Before the holidays I started to create packages/modules out of components (testimonials, changelogs, locations, etc) I want to create a few more moving forward.

@greenlevel I did rewrite or did a big upgrade from the Laravel 5.2 - Laravel 5.4 - master branches. The next one will probably be when I add Testing or Vuejs which should help with some 'speed drops'. Most common issue might be that if the admin list (datatables) has to many rows... Yes - I do agree, the Gallery is pretty 'new-ish' and does need that extra bit of love to make it awesome. Search - yeah, that has always been in my back of head but never really had to use it - why its probably not in yet (I do want to give Algolia a try tho)

@xewl Passwords - totally agree Modules - Yes that is the idea (unfortunately it takes a bit longer than I hoped for) Slug - Honestly I am a bit undecided, On the one hand I want to have a few of my own packages, sluggable, roles and permissions, generators, etc. But I know there is a line to not 'redo' popular packages out there. In Sluggables case, I figured its something small and wanted to add control over it as I once had to make a slug unique over multiple tables and did not want spend to much time on someone else's package - but I know I am on the fence really :) But back to your question - it does allow multiple sources generateSlugFrom(['firstname', 'lastname']) Just not from a relationship on the model as cviebrock does.

Mainly I just want to say - Thanks for giving it a try and all the feedback. Please shout if you have any questions or more suggestions or just want to share some ideas. Please also note, if you feel like contributing, I welcome it with open arms :)

bpocallaghan avatar Jan 09 '18 06:01 bpocallaghan

Hi @bpocallaghan - Thanks for releasing this, mate. I'm moving over the Laravel from RoR, and this is very similar what I've ended up with on my final RoR project. Except yours has WAY more polish on the admin panel.

I can see myself using your starter app a lot! Well Done!

After about a day, I've almost got a site that is ready to push live. Everything was really easy so far, but there are a few little things:

  1. I couldn't delete any pages under ID=30. I understand why you did this, to keep the home page intact (footer nav primarily) but maybe a better way is to have an extra DB column called 'Protected' with a tick box on the edit page for 'Posts'?

  2. Summernote WYSIWYG: I couldn't see where, but I was trying to build links using relative paths, ( i.e. '/foo/bar/') but the 'http://' was being added in, so it was saving 'http:///foo/bar/' instead of the relative path. This isn't the end of the world, but it would be nice to be able to do, especially when developing locally. I'm not sure where the 'http://' is being added, but I have a feeling it is Summernote. I noticed they had made mention of it on their git and marked it as resolved, so I'm not sure if it is fixed in a newer version. I'm happy to take a look into it further.

  3. JSON+LD and expanded OpenGraph: On-page SEO is getting more and more important, especially with Schema. Again, I'd be happy to try my hand at implementing a Schema module like I did for my RoR app.

  4. Speed: Coming from RoR, One of the cool speed tools we have out of the box is TurboLinks. TurboLinks is basically a JS package that turns your app into a single-page app. When you are clicking through the navigation, only the

    is swapped out, cutting out a lot of time on page-reloads. I noticed that there is a port for Laravel: https://github.com/frenzyapp/turbolinks - I don't know if this would help with speed issues.
  5. Search: I do a lot with search, and will be incorporating some sort of fuzzy search and geo-location calculations on my sites. I maintain a separate ELK stack for this, but again, I'm happy to contribute a module for ELK integration once I figure out what I'm doing. I have a feeling that I am approaching ELK completely backwards, but it seems to get me the results I need, and I don't have to burn through Google API requests to do it.

Anyways, enough raving - I really love this starter app and I'm happy to contribute to it if I can. I've only done one small project on Laravel before, and I've only contributed to my own repos up till now, so I'm quite new at this whole community thing- but this is one project that really has me excited.

jasonmccuen avatar Jan 25 '18 16:01 jasonmccuen

Howdy @jasonmccuen Welcome to Laravel :) Glad you like it so much and find it similar to your RoR projects. Thanks for the feedback - really appreciate it.

  1. I do agree - Honestly I still want to 'redo' the way footer navigation works (navigation in general - somehow want a 'manage navigation' and then you have like header, main, footer, side sections to drag the items you want in there - or something like that.
  2. Noted - have not tried relative paths yet.
  3. Noted - I am a bit new to the 'javascript speed optimization - one pager' I am slowly getting into vuejs and would like to change the frontend using that - as I think that will fix the speed issues...
  4. Also a bit new to it and always wanted to give it a try (never needed it before) Had my eyes on. Laravel Scout that is using Algolia - the free tier seems big enough. But ELK can work as well.

No worries - also pretty new to the contributing side - one of the reasons why I started with this journey to learn it. But please - if you want to contribute - please do. Please shout if you have any questions.

bpocallaghan avatar Jan 26 '18 03:01 bpocallaghan

I am also new to laravel so I cannot contribute much code wise.

Anyway, I just installed the laravel 5 boilerplate which includes all the user/ admin rigths etc. Maybe it's an idea to use that as a start and build your extra features on top? So all the issues with password reset etc are already been taken care of.

I like your admin start pack. Where you have the admin, user and a blog system. and just a clean admin. From there you can build a lot of different sites and have this start pack as base which is maybe also easy to maintain and update.

greenlevel avatar Feb 01 '18 16:02 greenlevel

Hi All - I'm still working my way through the code the best I can. I was wondering if there is a reason the page content is broken up into sections. I find it a bit limiting at times, and really slow for adding content as I need an average of 5 sections per page. I know my personal preference to adding content is not a totally normal use case (markdown).

I can see the way that the DB is set up where you have the pages and the page_content many-to-many separated with the page_sections, which makes sense. It is kind of handy to be able to re-use content sections elsewhere if needed (but you'd have to map it directly in the DB)

All I can think is that it is going further in the direction of a page builder?

Maybe this is something that is an option that can be changed?

Also - is there anywhere we can lurk to chat? (IRC/Slack) Cheers!

jasonmccuen avatar Feb 05 '18 05:02 jasonmccuen

Hi @jasonmccuen Glad you are still busy with this project :) About the page builder - I am not sure if you saw the commits from 25 Jan 2018 I've removed the 'separate page components' and only have 1 - unless you notice this and wanted to know more about the database structure. The reason the many to many is there - was due to the 'separate page components' I had (had section_documents, section_gallery, etc) However this is not the case. So I might actually make it one to many again (page -> components - page_id on the page_content) Unfortunately the last month I was busy with a freelance project and just launched it last night - hopefully I will get some time later this month to do some upgrades - as I have a new smaller project coming up that will require this and then might do some updates in between :)

I am not sure if you know about Laravel's Notifications system. Have a look here Slack Notifications This starter project has 'contact us to admin' as a notification - to give you an example.

Oh - About the Page Builder - honestly not 100% sure how/what I want the page builder to work. On the one side I want to keep it as simple as possible (if customization is needed its easy to add ontop of the code/database) On the other hand I want to make it dynamic as possible (page title, content, images, documents, etc) - So please feel free to give your input as I've never really used wordpress or relates sites a lot. - I know the final/end might be nice to be able to 'drag and move' your page components into 'slots' of the page (split page into 3 columns and then decide which 'slot' this component must be, etc - Thanks

bpocallaghan avatar Feb 05 '18 05:02 bpocallaghan

Hi @bpocallaghan - thanks again!

Congrats on finishing the project. I love those days!

I did not see that commit. I had an insane end to January as well. Thank you for your explanation, I think this fix is appropriate.

In terms of Slack or another chat platform - I was wondering if you would be interested in setting up a space to discuss your project on.

I do have a lot of experience with WordPress. I was at a point with WP where I was spending so much time turning WP into a framework instead of a blogging platform and it got to a point where I needed more control. I liked page builders on WP a few years ago, but now to use one is one of the most painful experiences in the world.

I think with your starter template, you need to ensure that:

  1. Developers can add the CMS features easily
  2. Depending on the use case, if required, Users can add content easily

I like the way WordPress has their content entry set up; with the WYSIWYG as the default, and with a text option that supports HTML. If I was going to add a third, it would be Markdown. I always go for speed, regardless of the project. If that means Excel and SQL - that's what I do.

I'm curious to see what WP comes out with for their version 5. They are apparently doing some kind of WYSIWYG with live preview function as well. I don't know if that is required for a project like this.

I'm going to go and try to rebase now. I've never done this before but it looks straightforward.

Cheers!

jasonmccuen avatar Feb 05 '18 10:02 jasonmccuen

I see you referenced this issue in TODO.md (: "Yes!" to using Spatie's packages! If you don't mind, mention it even; as they sure love their postcards!

xewl avatar Feb 09 '18 01:02 xewl

Hi @bpocallaghan great work.

I am having issue when i try to add my own controller or view in admin panel. I am getting error "selectedNavigation" is not defined and in Middleware ValidateRole not getting new Link Navigation ID . I have added Navigation from Admin->Settings->Navigation for new Sidebar link.

I am new to laravel . Kindly do needful and reply ASAP.

Cheers!

truelogicapp avatar Apr 25 '18 06:04 truelogicapp

Hi @truelogicapp I moved the conversation to a new issue - New Issue #26 Thanks

bpocallaghan avatar Apr 25 '18 08:04 bpocallaghan