Jump to content
tpr

AdminOnSteroids

Recommended Posts

Hey @tpr - I just noticed that AOS removes the 3px border radius on Page List Action buttons. Is there a particular reason for this? Is it just a stylistic choice on your part, or a remnant of some old code? No big deal, just thought I'd ask :)

  • Like 1

Share this post


Link to post
Share on other sites

Hi @tpr,

AOS has a stylesheet rule...

html.noFilenameTruncate i.fa-file-image-o, html.noFilenameTruncate .InputfieldFileInfo i {
    left: -21px !important;
    top: 3px;
    float: left;
}

...but this is too broad and affects the FontAwesome icon 'file-image-o' outside of the image inputfield when the noFilenameTruncate option is active (e.g. in the icon picker or in the module listing if that icon is used for a module).

  • Like 1

Share this post


Link to post
Share on other sites

@tpr Thank you for this great module.

Note to self: When your site is doing something fabulous and you can't remember for the life of you how you did it, check AOS first :lol:

  • Like 4

Share this post


Link to post
Share on other sites

Thanks! Use the code you find there with caution, it doesn't always follow the best practices :)

Plus unfortunately your quote is also valid when changing a word in it:

When your site is doing something weird and you can't remember for the life of you how you did it, check AOS first  :) 

  • Like 1

Share this post


Link to post
Share on other sites

When working with the NavItems submodule, which is incredibly useful, i have encountered some caveats, and not sure if these can be fixed/addressed...

1) The js that adds those items seems to only work on the first menu item, and if that has child items. Usually this is Pages, and has children;  but in my case, i have a dashboard module that takes the top position under the admin, and is the landing page for the admin. In this case, the nav items don't show, since there are no child items present under the dashboard process.

2) For custom nav items, i often will need to be able to place the menu items in specific places, like under a 'Content' or 'Company' menu, and i know that won't be possible currently in AOS,  so as a workaround, I used the technique of adding a menu item, using ProcessPageEdit as the selected process, and then doing the trick of of hooking in ready.php to specify the id of the edit page (courtesy @Jonathan Lahijani), but the issue with this is that the $input->get doesn't seem to be available to other modules (maybe the order in which they are loaded), and therefore any modules used in the admin that rely on $input->get->id don't work, since the URL that you are on is the url (name) of the process page.

if($page->template=="admin" && $page->name == "homepage-config") {
  $input->get->id = $pages->get("/settings/homepage-editor/")->id;
}

So anyway i have a somewhat hacky process module (ProcessMenuLink) that $session redirects to the edit page for the item; ultimately would be cool if there were some way to have the menu item itself link directly to the edit page w/o redirect, but for now this is the workaround i'm using...

thanks for listening!

Share this post


Link to post
Share on other sites

@tpr, I've been having a look at getting the field edit links working inside repeaters.

The solution is pretty simple. At line 2342...

if ($field = $inputfield->hasField) {
//...

And because of the suffix added to the name of inputfields inside a repeater I think it would be good to make this change at line 2354...

$editFieldTooltip = '<em class="aos_EditField">' . $field->name . '<i class="fa fa-pencil"></i></em>';

...to use $field->name instead of $inputfield->name.

  • Like 2

Share this post


Link to post
Share on other sites

Thanks,  I'll check all the issues and fixes when I finally get out of this less productive holiday season :)

  • Like 2

Share this post


Link to post
Share on other sites
On 12/27/2017 at 3:07 AM, Robin S said:

The solution is pretty simple. At line 2342...


if ($field = $inputfield->hasField) {
//...

Thanks for this - this has solved the issue with FieldDescriptionsExtended that i posted about...

Share this post


Link to post
Share on other sites

Hi @tpr,

Could you please give some comment about where things stand with AOS with regard to AdminThemeUikit? Have you done much testing with the Uikit theme and would you say that AOS is officially supports the Uikit theme at the moment?

So far I have been holding off switching to the Uikit theme - for a few reasons, one of which is that AOS is a pretty important part of my custom profile and I want to be sure the module works well with the theme before I switch my clients over to it. I haven't tested AOS much with the Uikit theme but at a quick glance I noticed a few things that made me think that the theme might not be officially supported by AOS yet.

AOS toggle/config link doesn't align with the left edge of the content container:2018-01-10_114345.png.9f63eb45f34bcb101bcacb6ac30b3f6a.png

Module config icon position is a bit off and icon is fuzzy (wrong size?):
2018-01-10_114421.png.a85d942c7962c66d68586d101658d813.png

Also, the Escape key does not clear the notices.

No pressure if AOS is not ready for AdminThemeUikit yet - just wanted to check.

  • Like 1

Share this post


Link to post
Share on other sites

No, I haven't dealt with every detail yet, mostly only with the issues you reported here and on github. I do not use pw nowadays too much and even if I do I use the Reno theme so I cannot spot all the issues. But I think the majority of them are easy to fix, apart from the fact that now 3 admin themes are there to check which slows down things. I plan to iron out the known issues in the following weeks. 

  • Like 1

Share this post


Link to post
Share on other sites
54 minutes ago, tpr said:

I do not use pw nowadays too much

Noooooooooo! :o

You have been seduced by some other sexy CMF??? (The hussy!) Tell me it isn't true! :-)

  • Like 2
  • Haha 1

Share this post


Link to post
Share on other sites

No, things are not that obvious.  We are using other tools that allow separating admin and frontend to different servers,  so even if fronted gets hacked they can't get hold of sensitive data but only static html files. This is something pw can't do afaik,  perhaps with procache but I haven't tried that workaround so far. 

  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, tpr said:

apart from the fact that now 3 admin themes are there to check which slows down things. I plan to iron out the known issues in the following weeks. 

I recommend dropping classic Default admin theme support. After all, AdminThemeUikit is becoming the new default in the near future.

Share this post


Link to post
Share on other sites
On 10/01/2018 at 6:20 AM, tpr said:

No, things are not that obvious.  We are using other tools that allow separating admin and frontend to different servers,  so even if fronted gets hacked they can't get hold of sensitive data but only static html files. This is something pw can't do afaik,  perhaps with procache but I haven't tried that workaround so far. 

Can you elaborate on "other tools that allow separating admin and frontend to different servers". Do you mean tools like Gatsby and the likes ?

Share this post


Link to post
Share on other sites

I meant CMSes that can output the whole site to a different server. One example is WordPress + Simply Static plugin.

  • Like 1

Share this post


Link to post
Share on other sites

Yesterday I've fixed a few things mentioned earlier. Some remarks:

On 1/9/2018 at 11:49 PM, Robin S said:

Also, the Escape key does not clear the notices.

For me it works fine. Does it happen on other sites too? Others?

On 12/19/2017 at 5:19 PM, Macrura said:

In this case, the nav items don't show, since there are no child items present under the dashboard process.

Yep, navItems are hacky because there is no hook to add menu items properly.

To add items only to specific pages would require to rewrite the whole thing, but my biggest concern is how to make the admin for it simple.

On 12/15/2017 at 1:25 PM, adrian said:

AOS removes the 3px border radius on Page List Action buttons. Is there a particular reason for this?

I don't remember why it's there :) 

On 1/10/2018 at 8:25 PM, szabesz said:

I recommend dropping classic Default admin theme support. After all, AdminThemeUikit is becoming the new default in the near future.

Sure, when the time comes.

 

  • Like 1

Share this post


Link to post
Share on other sites
On 10/01/2018 at 6:20 PM, tpr said:

We are using other tools that allow separating admin and frontend to different servers,  so even if fronted gets hacked they can't get hold of sensitive data but only static html files. This is something pw can't do afaik,  perhaps with procache but I haven't tried that workaround so far.

I opened a feature request topic about this in the ProCache sub-forum (not sure if you have access to that). Will be interesting to see if Ryan will consider adding such a feature.

  • Like 2

Share this post


Link to post
Share on other sites
3 hours ago, tpr said:

 

On 10/01/2018 at 11:49 AM, Robin S said:

Also, the Escape key does not clear the notices.

For me it works fine.

I think the issue is here. Because the index may be 0 this line should be:

if (HotkeysSettings.indexOf('removeNoticeHotkey') !== -1) {

 

  • Like 1

Share this post


Link to post
Share on other sites

I will check the procache forum, thanks! (I need a different account there). 

Seems like I missed the - 1 for the indexOf, thanks for the help. 

Share this post


Link to post
Share on other sites

In the upcoming 1.7.4 version there will be a new tweak for the Logs page. The helpers field on top can be expanded by default, and the select box of Actions replaced with radios.

I don't really get why the actions are in a select, radios are easier to use. I've requested this change in the core on GitHub (and got a few likes there too) but so far there's no response.

loghelpers.gif

  • Like 5

Share this post


Link to post
Share on other sites

Hello all. Does anyone experience an issue with the spacing between different fields in the admin while using AdminOnSteroids? I determined that the issue appears with the module prior to the fact that if I disable it, everything shows up correctly.

Presently I am using the latest PW 3.0.91 with the default Uikit theme and any place I go that shows fields in the admin is showing with a huge white space in between two. At first, I thought that I set some settings incorrectly, but even after a reset of the module I still see the issue appearing.

Any suggestions how to fix this as I was browsing through all the 40 pages in this topic, used search keywords to try to find the result, however so far I had no luck.

In case of a need, I am using a few other modules:

FieldTypeComments, MarkupSEO, ProcessWireUpgrade however if I disable AOS it all works fine.

P.S. The screenshot is a real one to one on 1396x768

MarkupSEO-Module-Spacing-Issue.png

Share this post


Link to post
Share on other sites

Any javascript errors in the web browser's console?  Does it happen with other web browsers?

Try disabling AOS Tooltips, do you still see the problem?

Share this post


Link to post
Share on other sites
1 hour ago, MilenKo said:

Any suggestions how to fix

As I remember there was (is?) an issue with tooltips feature set to Overlay type. Could you check if this is the culprit? 

Share this post


Link to post
Share on other sites

@gmclelland, @tpr   The issue appears if I enable tooltips for field description and field notes (even without having marked to use the overlay style). As soon as I turned off the Tooltips option completely, everything came back to normal.

Any suggestions to try to have the tooltips activated and avoid the spacing? At least for now I am OK to use the module even without the tooltips, so thank you both...

 

Share this post


Link to post
Share on other sites

Hi @tpr, I would like to have a little feature request here. I guess most of us feel pain when choosing fields and templates in dropdown select if the list grows large.  I think we could implement a search function to make us more efficient. I think AOS is the best place to implement this.

After some brief search, select2.js could be a good candidate. It hides the original select tag instead of using some div with hidden input field, so it , most likely, does not affect the inputfield like asm select. With option closeOnSelect: false could prevent the open and close behavior every time when we choose an item from asm. Also, it looks easy to implement. I hope you could consider adding this.:P

https://select2.org/getting-started/basic-usage

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By bernhard
      --- Please use RockFinder3 ---
    • By MoritzLost
      Cacheable Placeholders
      This module allows you to have pieces of dynamic content inside cached output. This aims to solve the common problem of having a mostly cacheable site, but with pieces of dynamic output here and there.  Consider this simple example, where you want to output a custom greeting to the current user:
      <h1>Good morning, <?= ucfirst($user->name) ?></h1> This snippet means you can't use the template cache (at least for logged-in users), because each user has a different name. Even if 99% of your output is static, you can only cache the pieces that you know won't include this personal greeting. A more common example would be CSRF tokens for HTML forms - those need to be unique by definition, so you can't cache the form wholesale.
      This module solves this problem by introducing cacheable placeholders - small placeholder tokens that get replaced during every request. The replacement is done inside a Page::render hook so it runs during every request, even if the response is served from the template cache. So you can use something like this:
      <h1>Good morning, {{{greeting}}}</h1> Replacement tokens are defined with a callback function that produces the appropriate output and added to the module through a simple hook:
      // site/ready.php wire()->addHookAfter('CachePlaceholders::getTokens', function (HookEvent $e) { $tokens = $e->return; $tokens['greeting'] = [ 'callback' => function (array $tokenData) { return ucfirst(wire('user')->name); } ]; $e->return = $tokens; }); Tokens can also include parameters that are parsed and passed to the callback function. There are more fully annotated examples and step-by-step instructions in the README on Github!
      Features
      A simple and fast token parser that calls the appropriate callback and runs automatically. Tokens may include multiple named or positional parameters, as well as multi-value parameters. A manual mode that allows you to replace tokens in custom pieces of cached content (useful if you're using the $cache API). Some built-in tokens for common use-cases: CSRF-Tokens, replacing values from superglobals and producing random hexadecimal strings. The token format is completely customizable, all delimiters can be changed to avoid collisions with existing tag parsers or template languages. Links
      Github Repository & documentation Module directory (pending approval) If you are interested in learning more, the README is very extensive, with more usage examples, code samples and usage instructions!
    • By Craig
      I've been using Fathom Analytics for a while now and on a growing number of sites, so thought it was about time there was a PW module for it.
      WayFathomAnalytics
      WayFathomAnalytics is a group of modules which will allow you to view your Fathom Analytics dashboard in the PW admin panel and (optionally) automatically add and configure the tracking code on front-end pages.
      Links
      GitHub Readme & documentation Download Zip Modules directory Module settings screenshot What is Fathom Analytics?
      Fathom Analytics is a simple, privacy-focused website analytics tool for bloggers and businesses.

      Stop scrolling through pages of reports and collecting gobs of personal data about your visitors, both of which you probably don't need. Fathom is a simple and private website analytics platform that lets you focus on what's important: your business.
      Privacy focused Fast-loading dashboards, all data is on a single screen Easy to get what you need, no training required Unlimited email reports Private or public dashboard sharing Cookie notices not required (it doesn't use cookies or collect personal data) Displays: top content, top referrers, top goals and more
    • By daniels
      This is a lightweight alternative to other newsletter & newsletter-subscription modules.
      You can find the Module in the Modules directory and on Github
      It can subscribe, update, unsubscribe & delete a user in a list in Mailchimp with MailChimp API 3.0. It does not provide any forms or validation, so you can feel free to use your own. To protect your users, it does not save any user data in logs or sends them to an admin.
      This module fits your needs if you...
      ...use Mailchimp as your newsletter / email-automation tool ...want to let users subscribe to your newsletter on your website ...want to use your own form, validation and messages (with or without the wire forms) ...don't want any personal user data saved in any way in your ProcessWire environment (cf. EU data regulation terms) ...like to subscribe, update, unsubscribe or delete users to/from different lists ...like the Mailchimp UI for creating / sending / reviewing email campaigns *I have only tested it with PHP 7.x so far, so use on owners risk
      EDIT:
      Since 0.0.4, instructions and changelog can be found in the README only. You can find it here  🙂
      If you have questions or like to contribute, just post a reply or create an issue or pr on github, thanks!
    • By MoritzLost
      Sorry for the convoluted title. I have a problem with Process modules that define a custom page using the page key through getModuleInfo (as demonstrated in this excellent tutorial by @bernhard). Those pages are created automatically when the module is installed. The problem is that the title of the page only gets set in the current language. That's not a problem if the current language (language of the superuser who is installing the module) is the default language; if it isn't, the Process page is missing a title in the default language. This has the very awkward effect that a user using the backend in the default language (or any other language) will see an empty entry in the setup menu:

      This screenshot comes from my Cache Control module which includes a Process page. Now I realize the description sounds obscure, but for us it's a common setup: We a multiple bilingual sites where the default language is German and the second language is English. While the clients use the CMS in German, as a developer I prefer the English interface, so whenever I install a Process module I get this problem.
      As a module author, is there a way to handle this situation? I guess it would be possible to use post-installation hooks or create the pages manually, but I very much prefer the declarative approach. The page title is already translatable (through the __ function), but of course at the time of installation there is no translation, and as far as I'm aware it's not possible to ship translations with a module so they are used automatically. Could this situation be handled better in the core? I would prefer if the module installation process would always set the title of the Process page in the default language, instead of the language of the current user.
×
×
  • Create New...