-
Posts
6,671 -
Joined
-
Last visited
-
Days Won
366
Everything posted by bernhard
-
Preview: AdminThemeUikitCustomizer
bernhard replied to bernhard's topic in Module/Plugin Development
Update: I've released a preview that everybody can use to play around with and hopefully contribute to this project: Here is the LESS theme that I used: This is basically the reno theme file of the original AdminThemeUikit, but I introduced the "tm-primary-color" variable. In the reno theme there are several variables with similar colors and it would be nice to have those colors dynamically calculated. Maybe some of the CSS and design experts can help here? @tpr @renobird Who else? My goal is to have a theme that we can use, where we would only have to change two or three main colors and the look&feel of the admin could fit our clients' CI. Maybe we would also have to define contrast colors for text (if the background is light, the font color needs to be dark). Maybe we could create two themes: One for light backgrounds, one for dark? Only thing that I'm not really happy with so far, is that the AdminTheme is not listed in the modules upgrades list, because it is not yet listed in the modules directory. I guess that would be easy to change. In the video I'm using a fork of Ryan's version, because I need one method to be hookable. Please support this PR on github: https://github.com/ryancramerdesign/AdminThemeUikit/pull/77 PS: I'm using https://processwire.com/talk/topic/17860-preview-processwire-kickstart/ if anybody wonders ? PPS: Here are the github repo links: https://github.com/BernhardBaumrock/RockLESS.git https://github.com/BernhardBaumrock/AdminThemeUikit.git -
Progress report for development of my GroupMailer module
bernhard replied to Gadgetto's topic in Module/Plugin Development
That's why I mentioned it. That might be a feature or a drawback - depending on the situation. -
Progress report for development of my GroupMailer module
bernhard replied to Gadgetto's topic in Module/Plugin Development
RockGrid has this built in, so it would be a lot easier to just use RockGrid instead of using DataTables + Queue. Only difference is that horsts queue works on the server side and RockGrid batcher works on the client side. Sending emails is another interesting decision to take: do you want to send them via the server or via a transactional service? This would need different implementations.. -
Preview: AdminThemeUikitCustomizer
bernhard replied to bernhard's topic in Module/Plugin Development
Thx for sharing your learnings @Chris Bennett I've also customized colors of the admin via CSS once, but that was a pain IMHO. Changing LESS would be a LOT more readable: @reno-text-color: #354b60; @reno-link-color: #ffae00; @reno-link-hover-color: darken(@reno-link-color, 10%); @reno-dark-background: rgb(0, 94, 202); @reno-muted-background: #f0f3f7; @reno-muted-text-color: #8d939e; @reno-muted-text-color-alternate: #6c8dae; @reno-primary-background: #1a0ce7; @reno-secondary-background: #e2e9ef; @reno-success-background: #8bccde; @reno-success-color: @reno-text-color; @reno-warning-background: #FFD15E; @reno-warning-color: @reno-text-color; Ideally we would have two skins, one skin for dark main colors (like blue, dark orange, red etc) and one for bright colors (yellow, light green etc). Then we could just choose between light.less or dark.less and modify the color to fit to our client's CI. Then change the logo and boom, we have a completely customized admin that feels like home for the client. -
Preview: AdminThemeUikitCustomizer
bernhard replied to bernhard's topic in Module/Plugin Development
Maybe I'm missing something, but styling via CSS would mean that you'd have to find ALL expressions relevant to your desired color change and list that in your CSS, wouldn't it? Whereas using the LESS theme you would only have to change one variable setting, as shown in my video. -
Everything fine now, thx.
-
Preview: AdminThemeUikitCustomizer
bernhard replied to bernhard's topic in Module/Plugin Development
Exactly ? I'm just not sure what would make the most sense. Using Inputfields would be the most comfortable, but I'm not sure if that would make sense at all. Because the question would be which options (colors) to make available via Inputfield and which not. Then I think it's better to leave everything in LESS. So one has also the benefit that it is possible to control all other aspects as well (like paddings, margins etc). https://github.com/oyejorge/less.php That would make live changes possible/easy. But I guess we would need to rewrite all the LESS files? (edit: more below) @Robin S you are right, it already works if you download the theme via github, setup a parser, save the css, set PW to use the new theme, set the theme to use a custom css file. And then there is an update to the repo and you have to do everything again... That's way too much effort imho! I want to install PW, adopt the main colors to fit my clients CI, save and go. I plan to build the less parser as a separate module, because I'm using it for a frontend module as well where I need the same features (parse less and create css, but cache the result if nothing changed). New idea: What if we extracted only those LESS files and images into a folder. Similar to the existing "main css file" Inputfield we could have a "main less file". I've already done this in my current module: Putting this in a separate folder we could zip them and share them with the community without the need of installing a new admin theme, changing only the SKIN (I like that wording, thx @adrian ). But I guess that would be too much... for me it would already be enough to adjust the main colors. -
Preview: AdminThemeUikitCustomizer
bernhard replied to bernhard's topic in Module/Plugin Development
Yeah I agree. It's also really simple. Would not be a lot of effort to build, but I want to hear some opinions first. -
Thx again @wbmnfktr I tried that approach today and created a new thread that might be interesting for some others here as well:
-
We already had some discussion about something like this in the AdminThemeBoss thread: Did a quick try today and it looks promising: Currently this parses the LESS on each request, so I need to implement caching of course. But I think this is the way to go for adjusting the backend to your needs and CI. Creating custom themes for that task is just not efficient! Happy to hear your opinions. Does anybody want to take it further? I am really busy this year and that will not change soon...
- 22 replies
-
- 12
-
-
Great points @kongondo ! And thx for those links on video tools. IMHO: Secure & Stable (should be #1 as it is stated as #1 priority) Custom fields, easy and flexible API ("headless") Scalable and fast
-
Thx. One more: I was happy to see the https://processwire.com/newsite/about/wordpress-vs-processwire/ section, but I still think this could be greatly improved. What about Joomla? What about Typo3? What about Drupal? I think there are a lot of people looking for alternatives and nowadays it's popular to just google "drupal alternative". It's a great user experience to get a tailored answer to that question. That's also true for the WortPress comparison page. I see https://runcloud.io/alternative/serverpilot-alternative.html as a very good example how those kind of pages could be done. Maybe with a "get more details" link on the end of that page for useres that are even more interested...
-
First of all: Congrats to the new site, it's a huge improvement! I also second almost all comments, but want to comment a few: Hey Pete, good to hear that :) Maybe NOLT could be a helpful tool for this purpose: It's dead simple and free: https://53261ae5.nolt.io/ +1 +1 @Jonathan Lahijani did you see my comment here? ?
-
Put this in your ready.php file: $sitesettings = new WireData(); $sitesettings->foo = 'bar'; $this->wire('sitesettings', $sitesettings); Then you have your new api variable available and can access it or its properties: The great thing about defining it as WireData is that it does not throw exceptions when you access non-existing properties. So I'm just populating this variable via a repeater and echo that values in my templates.
-
AAAAh ? Now I understand. That's the github version of the admin theme and the shipped version in the core is different. Thx for clarifying!
-
Thx, that helps! Seems that i messed something up when searching for .less files in my setup, because I did not get any results... But here they are: https://github.com/ryancramerdesign/AdminThemeUikit/tree/master/uikit/custom/pw
-
? Not really, your approach seems to be a bit different? Would love to get some more insights ?
-
Sample code for MarkupAdminDataTable usage?
bernhard replied to Gadgetto's topic in Module/Plugin Development
Well said @LostKobrakai! Agreed 100% IMHO that depends a lot on your skills. For me it took very long to understand how the backend works and what all those (process)modules do and how all this plays together. That's why I wrote my tutorial blog post (which by the way took also very long, so I perfectly understand that ryan does not have this time - especially if it is correct that CMF users are not the target audience (and that's what I meant in my short statement above where I said that I think that ryan does not really care). And even if you are highly skilled it would be a lot more efficient to read good docs than to read good code. I liked to read @Robin S answer and I'm sure it was not meant bad ? I agree with you that it would be a lot easier if we had proper tutorials (not just api docs and example modules) about all the backend stuff. I've mentioned several times that I think that the community management and teamwork on the project could be improved. It feels like ryan does all the work and if he has no time for something, it's just not done... On the other hand writing my guest blog post was easy: I just asked ryan if he was interested and I got a login and started writing... It's for sure not a perfect documentation about the backend, but it's a first step and I invite others to follow ? -
That's a different topic then, so you might be right ?? You can see this thread how @Noel Boss developed his theme and a new question that I asked right now: It might also be possible to build a custom theme easily by replacing the _main.php file of the uikit admin file. You can try that out by copying the AdminThemeUikit folder to the /site/modules folder, then refresh your modules und tell PW to take the /site/modules version of the uikit admin theme. Then you can use a _main.php file like this: <body class='<?php echo $adminTheme->getBodyClass(); ?>'> <div class="uk-text-center uk-padding" style="border: 5px solid red;"> this is a demo header </div> <div uk-grid> <div class="uk-width-auto uk-padding" style="outline: 5px solid green;"> this is a demo sidebar </div> <div> <!-- MAIN CONTENT --> <main id='main' class='pw-container uk-container uk-container-expand uk-margin uk-margin-large-bottom'> <div class='pw-content' id='content'> <div id='pw-content-body'> <?php echo $page->get('body'); echo $content; echo $adminTheme->renderExtraMarkup('content'); ?> </div> </div> </main> </div> </div> <?php echo $adminTheme->renderExtraMarkup('body'); ?> </body> So I still think that building a wrapper around the pw admin will be a lot easier than building a GUI for the frontend on your own. Think of repeater inputs, file inputs with AJAX, security, CSRF and multi-post prevention, session handling, tabs, sidebar panel / modals, input validation and and and... PS: Just tried the upgrades process module, it looks like this: And the hello world process module: It does not show the warning and error messages - so this approach needs some tweaking, but it's a good first step and I'd be happy to see what you come up with!
-
Hey @Noel Boss, me again ? I still don't get how your theme works or how you built it. Where do all those LESS files come from? I see you include a copy of UIKIT in your module including all the regular uikit less files. But there are lots of pw related LESS files in it as well: Did you build those files on your own? I can't find any less files in the PW core... I've already successfully built a custom UIKIT frontend theming module where LESS parsing is done on the fly via PHP: https://screencast-o-matic.com/watch/cFXnX1Y72l It would be great to have such an easy way of customizing the backend as well.
-
Don't think you are missing anything. My first idea was a repeater.
-
I think you are wrong ? Bringing custom functionality into your PW backend is simpler than you might think: The benefit is that you have ALL the features of PW built in, as @teppo already mentioned. You can build things like this: You should also have a look at RockGrid, if you want to show tabular data: PW is great for building backend applications. The only part that is not so clean/easy is how you handle migrations/upgrades. But that would not be different if you chose to build a custom frontend GUI for your users rather than using PW's backend. I had the same desicion to take before I started with my CRM and I'm really, really happy that I chose to stay in the PW backend.
-
Same here: I usually put those things in a tab on the root page: Rendering the menu is easy: <div> <?= $pages->get(1)->footermenu->implode(" | ", function($p) { return "<a href='{$p->url}'>{$p->title}</a>"; }); ?> </div> Config Settings is a repeater field that populates a custom API variable with site settings: $uk->config->company and branding:
-
Sample code for MarkupAdminDataTable usage?
bernhard replied to Gadgetto's topic in Module/Plugin Development
Could you elaborate "bad sign" a little more please? I guess you are right and I guess ryan does not really care ?