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 MoritzLost
      This is a new module that provides a simple solution to clearing all your cache layers at once, and an extensible interface to perform various cache-related actions.
      The simple motivation behind this module was that I was tired of manually clearing caches in several places after deploying a change on a live site. The basic purpose of this module is a simple Clear all caches link in the Setup menu which clears out all caches, no matter where they hide. You can customize what exactly the module does through it's configuration menu:
      Expire or delete all cache entries in the database, or selectively clear caches by namespace ($cache API) Clear the the template render cache. Clear out specific folders inside your site's cache directory (/site/assets/cache) Refresh version strings for static assets to bust client-side browser caches (this requires some setup, see the full documentation for details). This is the basic function of the module. However, you can also add different cache management action through the API and execute them through the module's interface. For this advanced usage, the module provides:
      An interface to see all available cache actions and execute them. A system log and logging output on the module page to see verify what the module is doing. A CacheControlTools class with utility functions to clear out different caches. An API to add cache actions, execute them programmatically and even modify the default action. Permission management, allowing you granular control over which user roles can execute which actions. The complete documentation can be found in the module's README.
      Beta release
      Note that I consider this a Beta release. Since the module is relatively aggressive in deleting some caches, I would advise you to install in on a test environment before using it on a live site.
      Let me know if you're getting any errors, have trouble using the module or if you have suggestions for improvement!
      In particular, can someone let me know if this module causes any problems with the ProCache module? I don't own or use it, so I can't check. As far as I can tell, ProCache uses a folder inside the cache directory to cache static pages, so my module should be able to clear the ProCache site cache as well, I'd appreciate it if someone can test that for me.
      Future plans
      If there is some interest in this, I plan to expand this to a more general cache management solution. I particular, I would like to add additional cache actions. Some ideas that came to mind:
      Warming up the template render cache for publicly accessible pages. Removing all active user sessions. Let me know if you have more suggestions!
      Links
      https://github.com/MoritzLost/ProcessCacheControl ProcessCacheControl in the Module directory

    • By joshua
      This module is (yet another) way for implementing a cookie management solution.
      Of course there are several other possibilities:
      - https://processwire.com/talk/topic/22920-klaro-cookie-consent-manager/
      - https://github.com/webmanufaktur/CookieManagementBanner
      - https://github.com/johannesdachsel/cookiemonster
      - https://www.oiljs.org/
      - ... and so on ...
      In this module you can configure which kind of cookie categories you want to manage:

      You can also enable the support for respecting the Do-Not-Track (DNT) header to don't annoy users, who already decided for all their browsing experience.
      Currently there are four possible cookie groups:
      - Necessary (always enabled)
      - Statistics
      - Marketing
      - External Media
      All groups can be renamed, so feel free to use other cookie group names. I just haven't found a way to implement a "repeater like" field as configurable module field ...
      When you want to load specific scripts ( like Google Analytics, Google Maps, ...) only after the user's content to this specific category of cookies, just use the following script syntax:
      <script type="optin" data-type="text/javascript" data-category="statistics" data-src="/path/to/your/statistic/script.js"></script> <script type="optin" data-type="text/javascript" data-category="marketing" data-src="/path/to/your/mareketing/script.js"></script> <script type="optin" data-type="text/javascript" data-category="external_media" data-src="/path/to/your/external-media/script.js"></script> <script type="optin" data-type="text/javascript" data-category="marketing">console.log("Inline scripts are also working!");</script> The type has to be "optin" to get recognized by PrivacyWire, the data-attributes are giving hints, how the script shall be loaded, if the data-category is within the cookie consents of the user. These scripts are loaded asynchronously after the user made the decision.
      If you want to give the users the possibility to change their consent, you can use the following Textformatter:
      [[privacywire-choose-cookies]] It's planned to add also other Textformatters to opt-out of specific cookie groups or delete the whole consent cookie.
      You can also add a custom link to output the banner again with a link / button with following class:
      <a href="#" class="privacywire-show-options">Show Cookie Options</a> <button class="privacywire-show-options">Show Cookie Options</button> This module is still in development, but we already use it on several production websites.
      You find it here: https://github.com/blaueQuelle/privacywire/tree/master
      Download: https://github.com/blaueQuelle/privacywire/archive/master.zip
      I would love to hear your feedback 🙂
      Edit: Updated URLs to master tree of git repo
       
    • By David Karich
      Admin Page Tree Multiple Sorting
      ClassName: ProcessPageListMultipleSorting
      Extend the ordinary sort of children of a template in the admin page tree with multiple properties. For each template, you can define your own rule. Write each template (template-name) in a row, followed by a colon and then the additional field names for sorting.
      Example: All children of the template "blog" to be sorted in descending order according to the date of creation, then descending by modification date, and then by title. Type:
      blog: -created, -modified, title  Installation
      Copy the files for this module to /site/modules/ProcessPageListMultipleSorting/ In admin: Modules > Check for new modules. Install Module "Admin Page Tree Multible Sorting". Alternative in ProcessWire 2.4+
      Login to ProcessWire backend and go to Modules Click tab "New" and enter Module Class Name: "ProcessPageListMultipleSorting" Click "Download and Install"   Compatibility   I have currently tested the module only under PW 2.6+, but think that it works on older versions too. Maybe someone can give a feedback.     Download   PW-Repo: http://modules.processwire.com/modules/process-page-list-multiple-sorting/ GitHub: https://github.com/FlipZoomMedia/Processwire-ProcessPageListMultipleSorting     I hope someone can use the module. Have fun and best regards, David
    • By dimitrios
      Hello,
      this module can publish content of a Processwire page on a Facebook page, triggered by saving the Processwire page.
      To set it up, configure the module with a Facebook app ID, secret and a Page ID. Following is additional configuration on Facebook for developers:
      Minimum Required Facebook App configuration:
      on Settings -> Basics, provide the App Domains, provide the Site URL, on Settings -> Advanced, set the API version (has been tested up to v3.3), add Product: Facebook Login, on Facebook Login -> Settings, set Client OAuth Login: Yes, set Web OAuth Login: Yes, set Enforce HTTPS: Yes, add "https://www.example.com/processwire/page/" to field Valid OAuth Redirect URIs. This module is configurable as follows:
      Templates: posts can take place only for pages with the defined templates. On/Off switch: specify a checkbox field that will not allow the post if checked. Specify a message and/or an image for the post.
      Usage
      edit the desired PW page and save; it will post right after the initial Facebook log in and permission granting. After that, an access token is kept.
       
      Download
      PW module directory: http://modules.processwire.com/modules/auto-fb-post/ Github: https://github.com/kastrind/AutoFbPost   Note: Facebook SDK for PHP is utilized.


×
×
  • Create New...