Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/16/2016 in all areas

  1. Modalception for ProcessWire GitHub: https://github.com/thetuningspoon/AdminModalception Direct Download: https://github.com/thetuningspoon/AdminModalception/archive/master.zip Modalception improves the usability of ProcessWire's modal dialog/popup windows when opened from within another modal window. The parent window is expanded to take up the full screen behind it so that additional modals can be opened without the inner windows becoming progressively smaller and less usable. The outer windows' toolbars are hidden from the user to help reduce confusion. * Screencap also features the Page Field Edit Links module
    12 points
  2. This week we've released ProcessWire version 3.0.5 which actually contains quite a lot of changes. Now you can nest repeater fields (repeaters in repeaters) and use dynamic/AJAX loading for all items. Plus we've got the first test version of Repeater Matrix released, and new support for field templates… https://processwire.com/blog/posts/more-repeaters-repeater-matrix-and-new-field-rendering/
    9 points
  3. @GuruMeditation, You and everyone on this forum are an important part of this ProcessWire Community. Learning the many things about ProcessWire can be difficult, I know it's taken me a long time. I'm still learning about module development. I would hope that you don't give up or think that your concerns have no merit. The fact that you bring them up, means that we are made aware and I know there are many people on this forum willing to help with anyones understanding. Everyone's level of understanding is different, however I believe you will get there. Things in ProcessWire are changing all the time, unfortunately the documentation doesn't always translate into concepts that novices (me included) can quickly understand. I know I work with things and eventually the lightbulb comes on and I can move on. Finally, ProcessWire is a great tool that can help you do many things. There are many things to learn and I hope that you will continue to ask questions, as we all learn something new when people give freely of their knowledge as they do on this forum.
    5 points
  4. ------------------------------------------------------------------------------ This is officially released now with some fixes and a second storage handler based on SQLite3. ------------------------------------------------------------------------------ WireQueue WireQueue is a module that allows easy creation and usage of Queues in ProcessWire. It is based upon a basic (parent) module that can or should have one or multiple StorageHandler modules. This alpha pre release contains a basic plain text storage module, WireQueueTextfile. The base module creates the needed: FIELDS (wire_queue_type, wire_queue_state, wire_queue_storage_options) TEMPLATES (wire-queue-container, wire-queue-storage, wire-queue-tools) PAGES (wire-queues = container for all Queuepages, wire-queue-storages = container for StoragetypePages) ROLE (wire-queue-admin) Each storage module creates one page under wire-queue-storages. New Queues can be created in the backend by adding a new page under "Wire Queues". After creation one have to select a Storage type from availables list and publish the page. After that, there are some buttons available to start / pause / and close the queue. Putting and getting data to and from the queue is done via API calls. First you have to get the page that holds the queue object. // get and validate the queue handle if($queue = $pages->get(SELECTOR_TO_DESIRED_PAGE)->WireQueue()) { // wrap your data into an array and pass it into the queue $success = $queue->addItem($data); ... } // get and validate the queue handle if($queue = $pages->get(SELECTOR_TO_DESIRED_PAGE)->WireQueue()) { $data = $queue->getItem(); ... } Thats basically all what you want from a queue. Following are a few conveniences: $queue->getPage()->title gives you the title of the queue, ($queue->getPage() returns the page object) $queue->className() shows the StorageType of the queue $queue->getState() and $queue->getStateStr() returns the current state of a queue: 1 = new / empty 2 = enabled / running 3 = paused 4 = closed / archived $queue->itemCount() gives the total number of all pending items in the queue Here is code that gives an overview of all Queues in the system: $container = $pages->get('template=wire-queue-container'); $bodyContent = "<h1>$container->title</h1>"; $bodyContent .= "<p>There are currently {$container->numChildren} Queues defined:</p>"; $bodyContent .= "<ul>"; foreach($container->children() as $p) { if(! ($queue = $p->wireQueue())) continue; $bodyContent .= "<li>{$queue->getPage()->title}<ul>"; if(!$queue->ready2use()) { $bodyContent .= "<li>{$queue->className}</li>"; $bodyContent .= "<li>This Storagetype is not ready to use! The System seems not to provide all requirements.</li>"; $bodyContent .= "</ul></li>"; continue; } $bodyContent .= "<li>{$queue->className}</li>"; $bodyContent .= "<li>{$queue->getStateStr()} ({$queue->getState()})</li>"; $bodyContent .= "<li>Currently are {$queue->itemCount()} items pending!</li>"; $bodyContent .= "</ul></li>"; } $bodyContent .= "</ul>"; Following are a screenshots of the backend The module is on Github: https://github.com/horst-n/WireQueue Would be nice if someone has time and can test it a bit and report back.
    4 points
  5. New in version 3.0 Removes the limitations of the previous releases! Now compatible with all Inputfield types including Select, SelectMultiple, Checkboxes, Radios, AsmSelect, PageListSelect, PageListSelectMultiple, and PageAutocomplete. When using the create new page feature, new pages are added to the field and selected automatically as soon as the modal is closed. No further input is required from the user. The "View" and "+ New" strings are now translatable The add new page links may be enabled independent of the view/edit links Code performance improvements GitHub: https://github.com/thetuningspoon/AdminPageFieldEditLinks Direct Download: https://github.com/thetuningspoon/AdminPageFieldEditLinks/archive/master.zip I ended up using a combination of different methods for populating the field with the new page once it's created. Some of the input types were fairly easy and could be updated without reloading the field, while others required some pretty wild code acrobatics, taking advantage of Ryan's new AJAX reload and repopulating the input with pages that were already selected but not yet saved. Please let me know if you run into any bugs. This was built mainly in Chrome with limited testing outside of it so far, so I expect some issues. I hope you guys enjoy the new features! Let me know if you have other suggestions for further enhancements.
    4 points
  6. I feel the same way regarding documentation. I'm coming from c# world and have done mostly desktop developing. I wanted to use asp.net for web developing because that's where my comfort zone is, but is more expensive to host plus it's latest open source version seems not apache or nginx friendly yet. The deployment documentation only discusses about azure deployment. Correct me if im wrong, but I have searched around processwire regarding database and mostly are found here in forums. I thank you all for quick help from the community. For the past 3 weeks, I've been playing with many php framework for my needs 1) quick prototyping DRY feature for small projects and found Yii2 that suites the most. Reading through pw discussions, people say that PW can do the same if not better so Im very much intrigued. Laravel was my 1st choice, but when I saw a long stack trace , things became clear to me why some aren't happy with it's performance. Great for small projects though. 2) I need something that's fast and found phalcon framework. It's very clean, neat, and I feel comfortable with it. I can see myself using it for future projects. 3) I need to have flexitbility with my framework. I thought of combing Slimphp(great for web services a.k.a. RESTful) with laravel's iluminate or with Fat-free php or components from symfony, aura, or library from Flourishlib 4) community plays a big role in every way. PW community seems more professional, adept, understands engineering besides developing, and helpful. I also noticed passion, respect, and loyalty. The WOW factor often mentioned among pw newbies too. Honestly, I'm learning more from pw forums than the provided documentaion, which is fine with me. while others would bash something about a framework they wrongly thought which can be entertaining at times just because their understanding of some design patterns are lacking. I myself was guilty once when taking over a project that was written in new language and design I've never seen. In the end, I learned more and grew. I'd like to see PW using composer, which I think sir Ryan included in his 2016 plan. Awesomeness! Happy Dance for me!
    3 points
  7. bad weather, lot of time... here you find the german lang pack for PW devns https://github.com/Manfred62/pw-lang-de-devns
    3 points
  8. Love the joke in the module title
    2 points
  9. What was the question? You used no single >?<.... Ok on the menu thing - Processwire is ment to have this pagetree stuff - so you could build your content in this order and use some kind of Markup Module to create a menu a good menu tool is https://processwire.com/talk/topic/1036-markupsimplenavigation/ You build your own menu builder with a pagefields for example. https://processwire.com/talk/topic/2296-confused-by-pages/ http://wiki.processwire.com/index.php/Page_Field If you mean ProcessMenuBuilder from kongondo i can't find any issue from you. http://modules.processwire.com/modules/process-menu-builder/ Important tip use google to search the forum... https://processwire.com/talk/topic/7298-google-custom-search-for-your-browserbookmarks/ @all after this some tips in german only to make things short ============================================= - Kein Fragezeichen - Keine Frage - Kein Problem - Processwire ist ein wenig anders als andere CMS - Module sind mehr oder weniger nur optional - und nicht wie bei anderen CMS nötig um ans Ziel zu kommen. - Versuche immer exakte Fragen zu formulieren und dein Ziel möglichst genau zu beschreiben. - Verlinke auf verwendete Module und Quellen damit diese nachvollziehbar sind. - Kein Englisch + Deutsch - das sollte ein englisches Supportforum bleiben. - Es wird auch bei schlechtem Englisch geholfen. Best regards mr-fan
    2 points
  10. As a novice in real PHP programming (not this coding trial&error thing...) i've to say this kind of documentation is not that great, too. The great API overview don't really help if you need a advice how to create a specific thing with a module. You have to search for a similar module and study how this is done in this module....then you find out that there are more than once possibilities and i don'T know which is the best/actual option...and so on. Ryan's blog entries are great stuff to read....but it is all like a puzzle to start with a own bigger module...small ones are written fast and straight with one or two simple functions/methods that output some markup or a textformatter. But if i take a look on the project of GM with the forum part i could feel a little bit what this topic causes... @GM - but the October CMS builder is nothing you search for - it is more like building inputfields and forms for datasets....and this is what PW does per default...set a special template, fields, userrights and relations via pagetable and your backend UI is ready to use - no module creation needed! THIS is one of the biggest reasons why i switched to Processwire i could create so much without create a proprietary module! You look for a documentation about module creation and a actual collection of best practice. But you are right just two (1, 2) official resources of docs for module creation and some links on other modules as examples are a all a good PHP developer need, but someone that is familiar with the frontend usage of API and has some experience with basic hooks and this stuff, that is willing to go one stepp further - this step is a bigger one in the PW universe... Not that i missing something - if i would need a forum i would probably go the hard way with templates, fields, and some frontend magic - but to have this a module like kongondo's great blogmodule would be a real good alternativ and much faster setup for sure. To get something really positive from this threat we could define a short list what kind of things are need a better documentation or better examples maybe we can collect a link list of best practice code from some github repos and a little description on them? Best regards mr-fan
    2 points
  11. @cs I can't argue with anything you have said. I agree with it all. I just think the documentation could be improved and also tools could be developed to make module development easier and also more secure. PW will become more popular over the next few years, and I'd hate to see an influx of badly written insecure modules due to a lack of documentation. I also appreciate your feedback. PW is without a doubt the best CMS / Framework out there, and believe me I've tried them all. That's why I get passionate about these issues.
    2 points
  12. $page->render checks Page::viewable() for unpublished pages, so you'll likely have to hook into viewable and override the return value for your use case.
    1 point
  13. 1 point
  14. Yay! This update has me rather excited, and I can already see an overhaul of our course booking system coming up in the near future. Nested repeaters and field templating are just the things to streamline this quite spectacularly. Dynamic Ajax loading is going to be such a treat too! Ryan, if you keep up PW's innovation speed like this, I'm sooner or later going step on my tongue while I race to make us of all these new possibilities!
    1 point
  15. Just when you think it wasn't possible to like ProcessWire any further. This is amazing news and will open up so many opportunities for complex data, very much appreciated!
    1 point
  16. I forgott to mention that it shows usefull information directly in the pagetree: total number of pending items and current states of the queues via icons
    1 point
  17. I probably came across as a bit negative but that wasn't my intention. To make my point clearer, I suppose what I'm getting at is this: As a novice, the OctoberCMS plugin looks a lot more appealing to me as it appears to take away the mundane tasks of creating a module/plugin with a visual tool. To create a module in PW, you need to trawl through the code or the forum. As for what module I'm creating, well it can be found here. I have spent a lot of time on that module, most of which involved searching the forums and looking through other modules for the answers. It's a shame because PW is so simple to use, but the information and documentation is lacking in my opinion. But I'll go with the majority and admit that PW is probably too advanced for me personally in this respect. I can understand most things that are documented correctly, or have tools to take away the tedious elements, but sadly PW lacks in these areas (to me). Take that as you will, but it is just my opinion. If you're still looking for an example of what I mean, then I'd probably mention the lack of information regarding installation, uninstallation and upgrades when creating a module. I've lost count of the amount of times I have tested my module only for things to break because I made a mistake. And when my module breaks, the whole site breaks, leading to me having to delete all my module information from the database to get it back up and running.
    1 point
  18. Hi Sradesign, Finally could look at the implementation, turned out that you must enable tracking by values explicitly like this: $p = $pages->get('/'); $p->setTrackChanges(Wire::trackChangesOn | Wire::trackChangesValues); $p->title = 'new value'; var_dump($p->getChanges(true)); die(); Worked for me then, hope it helps! Cheers
    1 point
  19. To store data in a database table there's no need for any custom fieldtype. These are only needed if you want to create custom fields. If your module does just need a place to store e.g. configuration, you could also just use standard sql queries and if that's to bare bone there's always the option to let a orm library handle it or rather any library that abstracts the sql queries for you. There's also the option to use the module configuration automatisms to store information, which is stored json encoded, but might be enough for smaller configurations. It's true that fieldtype development is not very well documented officially, but it's actually not much different from what the teaser video in the starting post does show besides the UI factor. It needs a table column setup (getDatabaseSchema()) and some runtime to database conversion (sleepValue()) and db to runtime conversion (wakeupValue()). While the fieldtype events plugin is mentioned in the forum as kind of entry point to fieldtype development I found it a bit overwhelming at first, as it's starting out as multi-value field and is therefore more complex than it would need to be in the beginnings. With just extending the core fieldtype class and changing up those three methods you should be able to get a fieldtype working and then you can add functionality like sanitization or subfields and so on on top of it.
    1 point
  20. Update: version 0.0.2 As requested by @Macrura, added a markupValue() method to correctly output the field's markup output in listers.
    1 point
  21. Simple answer is that @Valan had a need and commissioned me to develop this . Seriously though, mr-fan already covered it brilliantly. When I get some time, I'll post some other examples.
    1 point
  22. Using the current module you can not exclude, you should use my modified version, see the post above. Check the examples on the linked github page.
    1 point
  23. Welcome to ProcessWire gunter... Just to add on to what Adrian has said..., technically, there is no relationship between a template file and fields. There is a relationship between templates and fields. That's why you need to clarify your situation. If you want to change the template of a page (call it template 1), and the new template (template 2) you are changing to does not have the same fields that are in template 1, then PW will give you a warning: "Warning, changing the template will delete the following fields:". It will list the fields that will be deleted. If you click the checkbox "Are you sure? Please confirm that you understand the above by clicking the checkbox below." they will then be deleted...Other than that, template files are used by the user (technically instructed by the user) to grab what's in your fields and display the output to the browser
    1 point
  24. what.i use this is good it does.work top {not buttock}, of htaccess u will.put it . enjoy <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/octet-stream "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" </IfModule> <IfModule mod_headers.c> <FilesMatch "\\.(ico|jpe?g|png|gif|swf|woff)$"> Header set Cache-Control "max-age=31536000, public" </FilesMatch> <FilesMatch "\\.(css)$"> Header set Cache-Control "max-age=2692000, public" </FilesMatch> <FilesMatch "\\.(js)$"> Header set Cache-Control "max-age=2692000, private" </FilesMatch> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary: Accept-Encoding </FilesMatch> Header unset ETag Header append Cache-Control "public" </IfModule> <IfModule mod_deflate.c> AddOutputFilter DEFLATE js css AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule>
    1 point
×
×
  • Create New...