Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/05/2015 in all areas

  1. 5 points
    Here are some links to keep you busy amigo! In no particular order: grunt-gulp-something-else menu-builder making-pw-more-userfriendly fieldtype-matrix process-blog tutorial-approaches-to-categorising-site-content product-catalog-with-a-twist Basic_Website_Tutorial grouped-forum-posts-links-articles-tutorials-code-snippets writing-from-front-end-to-back-end integrating-a-member-visitor-login-form Creating Pages via API Tutorial: Approaches to categorising site content Create simple forms using API Creating Pages via API Developer centric form processor galleries-short-and-long Markup Simple Navigation multilevel-menu dropdown-menu responsive-vs-adaptive-pw-approach processwire-as-backend-for-android processwire-on-nginx what-filesfolders-should-be-added-to-gitignore-for-regular-development continuous-integration-of-field-and-template-changes tutorials: hello-worlds process-google-analytics
  2. 3 points
    Helllllo! I am working on a simple module / pet project for a module that inserts custom classes into specific templates for forms that are generated via the api. I use bootstrap a bunch and am always messing with the defaults in processwire, now it should be a simple manner to tweak my settings in the admin area. As this seems to be something that I keep needing I thought that others might as well. Right now the functionality is pretty simple: Select the templates that you want to override the default styling on. Set your new defaults .... Proffit. What I would like is maybe some suggestions for options or functionality that I should try for. I have never really deep dived into modules so this is a bit new to me, but as I am looking for a new development job I would push myself for something cool. https://github.com/MuchDevelopment/FormStyler/tree/master
  3. 3 points
    Update version 1.0.4 (Dev only for now) Note: Haven't had time to update README Changes Import Mode for file/copy-pasted CSV: Two options, 'append' and 'overwrite'. Default setting set in Field's Details tab. The setting can be overridden at page-edit level. Default setting is append (sorry guys, you will have to inform your clients of the changes. The prospect of data loss inherent in the overwrite mode outweighed the inconvenience of re-teaching your clients about the new default append mode). Append: In this mode, the module will look for the last available empty/blank row in the matrix. If it finds one, imported rows will be inserted from that point forward. Any subsequent rows (i.e. rows beneath that 'last blank row') will be overwritten. Any rows above the 'last blank row' will have their values preserved (untouched). When in append mode, the 'last blank row' will always be highlighted. The modules (jQuery) monitors any live changes to the table rows (typing and clear data) and the highlight will shift accordingly if the 'last blank row' changes. If there is no 'last blank row' and you attempt to save in this mode, you will get an PW error message and your older values will be preserved in the matrix. Used wisely, append can actually mimic an insert. Btw, for an empty matrix, append doesn't make much sense since data will only be inserted in the very last row of the matrix . Overwrite: What was the default behaviour; incoming values overwrite existing values. Ignore first row and/or column: Default set independently at Field setting (i.e. can ignore one but not the other if you wish). Default is ignore both first row and column. Both settings can be independently by-passed at page-edit level. In real world examples, first rows usually store column headers/labels and first columns usually store row headers/labels. Export checked rows: You can now export only the rows you want by checking them. If nothing is checked and you attempt to export you will get a JS error alert. The 'set range to export' setting became redundant and I removed it. Shift + Click enables the selection of a range of rows. The checkbox for toggling select all still works. Lots of code re-factoring Thanks to @adrian for suggesting all of the above features . Please test and let me know. I think I have given this module enough love for now. MenuBuilder has refused to talk to me until the situation improves. So, for now, there's a feature freeze on this one and let's see if I can get MenuBuilder to smile again .
  4. 3 points
    Both ready.php and init.php are not loaded in 2.2.17 Upgrading is not possible at the moment due to several reasons. 1st) the site is hosted on a dedicated server and upgrading PHP might jeopardise the working of the other sites on the server. 2nd) in version 2.2.17 multi language was not integrated in the core yet, altough the client wanted a multi language site, so its build in manualy. I'm worried that upgrading to a newer version of PW, the manualy build multi-language functionality might stop to work. Thanks all for the suggestions and pointing in the right direction. I came up with a simple module that sets the template folder to /site/templates-dev/ for all superusers. class DevelopmentTemplates extends WireData implements Module { /** * getModuleInfo is a module required by all modules to tell ProcessWire about them * * @return array * */ public static function getModuleInfo() { return array( 'title' => 'Development Templates', 'version' => 001, 'summary' => 'Overrules the config templates folder for development purpouses', 'href' => 'http://www.processwire.com', 'singular' => true, 'autoload' => true, ); } /** * Initialize the module * */ public function init() { if (!$this->user->isSuperuser()) return; $this->addHookBefore('Page::render', $this, 'setDevTpl'); } public function setDevTpl($event) { $page = $event->object; if ($page->template == 'admin') return; $config = wire('config'); $config->urls->templates = 'site/templates-dev/'; $config->paths->templates = $config->paths->root . 'site/templates-dev/'; $config->debug = true; } } Note: only need this on older versions of PW, in my case 2.2.17. For newer PW versions use the following method as described on ProcessWire Recipes where you coudl use if($user->isSuperuser()) https://processwire-recipes.com/recipes/use-different-sets-of-template-files/
  5. 3 points
    Looking a bit at the request and response headers of that site, the only thing i can think of that is causing this problem is Cloudflare, which seems to play a role. Is this somehow turned on for the problem domains? Try turning it off? Have a look here http://stackoverflow.com/questions/25927260/cloudflare-bug-random-302-redirections , these look a lot like your random 5 character folders.
  6. 3 points
    I had this kind of issue with cached navigation (one for desktop, one for mobile = mmenu), and wanted to make sure the database cache is removed as soon i save one of the pages displayed in the navigation. I came up with a module that hooks in to page save. It removes the necessary cache items asfollow: - when pages with template settings_socialmedia or settings_textblocks are saved it removes the main.footer cache entry - when pages with template list_agenda or item_agenda are saved it removes the block.agenda cache entry - when any of the pages in $navigationPages are saved it removes both the man.navbar and main.mmenu cache entries <?php /** * ProcessWire Save Actions * * Actions to be run on page save * * @ 2015 Raymond Geerts * * ProcessWire 2.x * Copyright (C) 2014 by Ryan Cramer * Licensed under GNU/GPL v2, see LICENSE.TXT * * http://processwire.com * */ class SaveActions extends WireData implements Module { /** * Return information about this module (required) * */ public static function getModuleInfo() { return array( 'title' => 'Save Actions', 'summary' => 'Actions to be run on page save', 'version' => 1, 'autoload' => "template=admin", 'singular' => true, 'author' => 'Raymond Geerts', 'icon' => 'floppy-o' ); } public function init() { $this->pages->addHookAfter('save', $this, 'actionsAfterSave'); } public function actionsAfterSave($event) { $page = $event->arguments[0]; if ($page->template == 'settings_socialmedia' || $page->template == 'settings_textblocks' ) { $this->cache->delete("main.footer"); $this->message("Cleaned WireCache for front-end footer HTML"); } elseif ($page->template == 'list_agenda' || $page->template == 'item_agenda' ) { $this->cache->delete("block.agenda"); $this->message("Cleaned WireCache for front-end agenda block HTML"); } else { $homepage = $this->pages->get('/'); $navigationPages = $homepage->and($homepage->children); foreach($homepage->and($homepage->children) as $item) { if ($item->template->altFilename == "clickthrough" && $item->hasChildren() ) { $navigationPages->append($item->children); } } if ($navigationPages->has($page)) { $this->cache->delete("main.navbar"); $this->cache->delete("main.mmenu"); $this->message("Cleaned WireCache for front-end navbar HTML"); } } } } It saved some page-loading time when caching navigations. Because they are displayed on every page, its a smart thing to do. A trick to make the current page (and parents) have a selected / active class i did the following: in the head of the _main.php <script> var globalJS = <?php $globalJS = array(); $globalJS['parents'] = $page->parents()->remove($homepage)->append($page)->each('id'); echo json_encode($globalJS, JSON_FORCE_OBJECT); ?> </script> in the navigation i put the page ID in each <li> item like this: echo "<li id='navbar-pageID-{$item->id} role='presentation'>"; (and in mmenu as follow:) echo "<li id='mmenu-pageID-{$item->id}'>"; In my main.js file i have the following: (function() { // set navigation menu items active $.each(globalJS.parents, function(key, value){ $('#navbar-pageID-'+value).addClass('active'); $('#mmenu-pageID-'+value).addClass('current'); }); }());
  7. 3 points
    I noticed that this site was featured on http://weekly.pw/. Thank you everyone who commented with your feedback, it's much appreciated. This made me very happy
  8. 2 points
    It wasn't so hard in the end. I decided not to store the rank in the database, but just constructing it from the user points. I solved the problem of users with the same rank position in this way // I get the players pages and sort them by points $players = $users->find("sort=-user_points, sort=name"); // I explode the players into a scores array $scores = $players->explode("user_points"); // Using array_unique to remove duplicated scores $unique_scores = array_unique($scores); // With array_unique previous key are preserved so i need to create a new array with new keys $reindexed_scores = array_values($unique_scores); // I cycle through players foreach($players as $player) { // I get the key of the user pointe in the array $position = array_search($player->user_points, $reindexed_scores); echo $position; echo " - "; echo $player; echo " - "; echo $player->user_points; } Hope this could help someone else with the same need.
  9. 2 points
    I'm assuming this is a Process module, since that's the only one that supports nav arrays. The arrays provided in your getModuleInfo (like the 'nav' array) are not called at runtime, instead they are stored in the DB. As a result, there's no reason to make those labels translatable–actually you should avoid it, otherwise the wrong language translation might end up stored in the DB. Instead, just make them regular strings like 'Enter Order' rather than __('Enter Order'). Then, somewhere else in your module, make them translatable. It can even be in a PHP comment. For instance, you could add this at the top of your module file: /* * __('Enter Order'); * __('Enter User'); * and so on... * */ These should be in your 'default' language. Make sure the phrases are identical to those in your 'nav' array. Doing this just ensures that the language parser knows they are translatable phrases. After making that change, do a Modules > Refresh, then go back and translate the file (Setup > Languages > language > your file), and save. Now it should work. If using AdminThemeReno, it won't work, unless you upgrade to the latest dev version. I just fixed that issue in AdminThemeReno yesterday actually. Since it looks like you are using Reno, you'll want to grab the latest dev branch.
  10. 2 points
    Hi Raymond, The problem is that the config file is parsed by ProcessWire before the API is ready, so the user object is not yet accessible. I suppose you could create an autoload module and set/overwrite config values there, based on the user. Cheers
  11. 2 points
    Ok, you did not mention that. But at least both sites seem to be working fine when i check them now. So this is a pretty strong indication that somehow Cloudlfare (or better, the way it's set up) is at the root of the problems and not some weird hack.
  12. 2 points
    Okay, I have turned Cloudflare off and it seems okay - but I also tried that yesterday with no result. So, confused? You bet I am!
  13. 2 points
    I'm not sure if you can access these items with the array notation, try $input->get('keyword') or $input->get->keyword. Edit: And just as I thought, only $pages and $page are available as local variables. All the other api variables need to be accessed as $this->input or wire('input').
  14. 2 points
    Tom. identified you as spam, as will I. Your profile states you are from Saratoga, CA. yet you mention Alexa ranking of ProcessWire in India. Why India? I'm on to you from the get-go, as WE say in the U.S. Your Twitter username is brand new, only several days old with 3 tweets and 8 users. All of whom seem to be WordPress related. By the way, nobody from Saratoga California ends their comments with the salutation, "Cheers!" It's not rad enough!
  15. 2 points
  16. 2 points
  17. 1 point
    AvbImage - Image Manipulator Module for ProcessWire This module using Intervention Image PHP image handling and manipulation library. Update Status Module and InterventionImage Library update - 10-12-2015 More performance imporements - 18-11-2015 Module Update and Performance Improvements - 17-11-2015 First Commit - 28-10-2015 RequirementsProcessWire >= 2.5.11 PHP >=5.4 Fileinfo Extension Supported Image LibrariesGD Library (>=2.0) Imagick PHP extension (>=6.5.7) For usage and methods please look githup repo : README.md > For issues and fix and corrections please use Githup Repo
  18. 1 point
    After finding ProcessWire, I knew it was the perfect fit for our corporate site. The power behind PW meant I could do anything I wanted quickly and efficiently. I very quickly moved on from WordPress to PW for our clients and I have never looked back. WordPress has always been frustrating to use however I felt the alternatives I found came with their own faults also. However this is a very different story with ProcessWire, it ticks every box. The API is powerful, versatile and easy to use. The CMS is secure with no known venerability (how great is that!), The templating is very easy and sticks to PHP convention. There is plenty of custom fields in the core, but great module support also. But also it's very easy to use for clients. All these are important and ProcessWire ticks every box (including multi-language). I can't thank you enough Ryan (and others working the project) you have really made an excellent product. http://www.thebrandnewidea.co.uk/ I look forward to hearing your feedback.
  19. 1 point
    I actually registered back in January but then proceeded to bounce around CMSs, then went back to wp because it's just so easy to find and activate a plugin. Now I have a multisite with ummm, 40+ plugins and a highly functional theme. I cringe on every update. I even have a couple I can't update because I had to tweak them. Lucky for me, there's a plugin to prevent other plugins from being updated accidently. Time for some sanity and some learning. I know html/css pretty well. Last year's versions at least. php or programming in general? Not so much. Took the UK Kent Univ programming aptitude test and didn't do too bad, considering I've never taken an algebra class. I've been blue collar all my life. Electric sign fabricator for 25+ years. Large projects that took weeks. Did many high profile jobs but towards the end, no matter how fancy it was, it was boring. Time for something new. Getting too old for all the climbing, stooping, lifting and breathing toxic fumes typical of a sign shop. Inks, paint, welding etc. Likewise, getting into another blue collar field is not much of an option at 50 so I've decided web dev as my new career. Jumping into a tech career at 50. Did I say sanity? Nevermind. Winter's coming on here and I've set this winter aside for learning php and a CMS thouroughly. Or as thouroughly as I can in one season. It was going to be wp but I just can't stand the UPGRADE TO PRO atmosphere and worry it might be contagious. (there are exceptions of course as I have come across some stand up guys and gals there) I've got a lead on building a site for a small nearby city and the thought of using wp brought feelings of panic and nausea. Depending on their time frame, I may have to use a responsive html/css/js site and upgrade them to a cms later. I don't have the job yet so I'm not going to stress about it. However, I still want to get into something a little more structured yet flexible and it really comes down to ss or pw. I think they're pretty similar but pw looks to have a less steep learning curve. So here I am. I am the type of person that likes to figure things out or find things on my own but I'm sure I'll have plenty of ignorant questions. Thanks for your patience in advance, John
  20. 1 point
    Beautiful work! I think I might have said this just recently to some of your other new features, but it is true - this has become one of my favourite field types. Now go spend some time on some of those commercial modules you have cooking
  21. 1 point
    I was about to change it on cheatsheet. But now it's because it's only a set and default is ON. Hence there's two entries in cheatsheet and not (true|false). So a $parent->setTrackChanges(false); ... $parent->setTrackChanges(); would be sufficient.
  22. 1 point
    Great - just committed a new version of BCE (master branch) with those changes - thanks for figuring this out!
  23. 1 point
    Thanks for spotting Soma - it seems to come from this code: // temporarily put the parent in an unpublished status so that we can check it from // the proper context: when page-publish permission exists, a page not not editable // if a user doesn't have page-publish permission to it, even though it may still // be editable if it was unpublished. $parent->addStatus(Page::statusUnpublished); $parentEditable = $parent->editable(); $parent->removeStatus(Page::statusUnpublished); This is part of a method called getAllowedTemplatesAdd that determines whether the user is allowed to add a template to this parent. It is a modified version of this method: https://github.com/ryancramerdesign/ProcessWire/blob/cffb682836517065d7dd7acf187545a4a80f1769/wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module#L191 I am not sure how to avoid this check. Do you think it is a major concern? I guess it's not ideal that there is a recorded change to a page when saved, even though there are effectively no changes. Any thoughts?
  24. 1 point
    Not sure what's about that, but I tried this module and now I get on every page save I see message "Session: Change: status". Took me a while to realize it's BatchChildEditor.
  25. 1 point
    I've come back to this topic myself about 3 years after having a similar need in a different thread. This code, from Tom's activity log module and altered slightly, gets both an old and new version of the page when hooking before saveReady: $clone = clone($page); $this->pages->uncache($clone); $old = $this->pages->get($clone->id); // Now just echo both the fields you are interested in: echo $old->field_of_interest . " becomes " . $page->field_of_interest; exit; On save, that should give you access to the old and new versions of the page where you want to compare just one or a few fields and you know which ones you're interested in already. Seems to simple now when you see the use of clone()
  26. 1 point
    Loving what is going on here. Excited to soon see the product
  27. 1 point
    Nope, it would give you the same copy that you already have. Unless something cleared the page cache between the time you loaded $page and the time you did your $pages->get(). PW clears the page cache after every save() or delete(), so if you found it was working in your case then chances are there was a save() that occurred after you loaded $page, but before you tried to retrieve $oldPage.
  28. 1 point
    But not on such an old installation. 2.2.17 is definitely before 2.6.7.
  29. 1 point
    Check out Linode also. They have a datacenter in London and I'm very happy with them. edit: there is a managed solution.
  30. 1 point
    Love the people on here - so warmly encouraging!
  31. 1 point
    Or you could build a module like MigratorWordpress: https://github.com/NicoKnoll/MigratorWordpress that gets the Textpattern content and creates JSON that can be imported into PW. While it might be a little more work to build, it would be useful for other future users coming from TextPattern.
  32. 1 point
    Since this topic popped up I have been thinking on how to help PW grow from my possibilities. I am no whizz coder, but surely I can pull off some websites and maybe some other tricks, but in the end I'm rather a designer that deals with small to mid size business demands. I try to participate as much as I can supporting users, but I find that most of the times my experience is not enough, so maybe I can put my other "stuff I know how to do" to help. PW seems to already have an experienced audience, that are migrating from other software some more complex, some from the popular systems available, but I don't really think there's much material for people who handle front end technologies with average skills who want to transition into server side solutions to achieve a full stack developer status that let's them take on bigger projects and not just pure front end. I think Processwire is a killer weapon for that type of developer because of all the heavy lifting from Processwire without compromising flexibility, makes it really friendly who people who already know the basics of coding and probably has experience with javascript. So after explaining a bit where I stand, I had this ideas for tutorials series: - How to make a one page website with Processwire. - Portfolio from scratch with Processwire. (here goes my blog!) - How to make your comic book website with Processwire. I think this kind of "generic" type of tutorial, will attract people starting with frontend technologies and middle to advance users will get the grasp of how things work in Processwire and just dive into it. So, that's why I'm making all this noise about the live coding and stuff haha, I just think Processwire needs more media out there that shows solutions for practical problems that learning web developer's could be potentially searching for. Sorry if the conversation drifted away, just wanted to expose my goals. What do you guys think?
  33. 1 point
    Thanks for pointing me to the Translator. That definitively answers my question. I like the idea of @Can to use _init.php for language strings. I'll try that out.
  34. 1 point
    I know the topic regarding a forum solution has popped up a few times, and I understand that existing solutions are often better suited. However, I just love PW and wanted to have a go at creating a forum module, as I'm becoming more familiar with how PW works. My plan was never to create a forum like this one, but rather a forum that could utilise the power of PW to handle membership, permissions, which in turn would save a lot of time. Basically a functional forum that isn't bloated and doesn't get in the way of the front-end design. Nothing too fancy, but something that has the expected features. I also wanted it to use the same principle so that it can be used to add comments to other pages etc. At present, the forum has potential, but obviously one of the main issues is the amount of installed fields, but custom Fieldtypes are beyond me at the moment. I like the idea that everything is a page as it makes it easy to deal with, but I'm always open to criticism and suggestions. I'd love others to get involved with this as I can see it as a useful addition, but I understand that people don't always have the time. So maybe I will keep tinkering with it and keep the updates coming here, but if others are interested in joining in, we can take it from there. Again thanks for your comments and encouragement as it means a lot. Yeah, I've been watching Flarum since it was announced and it's looking great. I'd just prefer a PW alternative though, just to keep everything feeling the same.
  35. 1 point
    I know the feeling . ...If you haven't worked with Fieldtypes before, there is some learning curve..Onto the main question, given the task involved in developing a forum (depending on whether it is basic or has advanced features, is modular, etc.. [have a read here btw]), I think we have about 3 options: Given the time constraints we (most of us) face, proceed as you originally intended. A basic forum is better than none Ask guys who has some time to spare if we shared the work, e.g. somebody to deal with the model (data), another to deal with permissions and security, another with membership + login, another with...etc... If there is enough demand for a more than basic, scalable modular forum, and the community is willing to raise some funds to support its development, get a couple of heads (and hands!) together to work on this thing. The sponsorship really would be about compensation for time taken away from client work. #3 is probably the most difficult to organise but if it works, would probably bear most fruit. These are just my thoughts. Don't feel pressured by any of them . Even if we ended up taking option #1, I'd welcome it. You've made a good start and yours is probably the attempt that has come farthest to date (IIRC). So unless something shifts soon, I'd go ahead and release your module as is. It's not the end of the world if it doesn't have native Fieldtypes . It is a working solution. We appreciate your efforts and thank you for giving it to us gratis
  36. 1 point
    Alternatively, use the search link in my signature
  37. 1 point
    Just to complement the "google search tip" which is great: https://processwire.com/talk/topic/6196-easy-search-on-pw-forums-with-google/ (Shouldn't this information be pinned somewhere?? )
  38. 1 point
    ProcessWire is that CMS/CMF for real craftsman! Other CMS give you the structure (mostly strange and not comprehensible) - and PW gives you the toolkit to build up websites along with your actual knowlegde and learning process. There will always be room for new improvments and enhancements in your skills while you building websites with PW, without break something or "crying on a update"...a little bit like playing a game and level up with every project/website that you learn something new. Best hint at start is to change general thinking. Much more reflect the basic structure, data and possible enlargements on your project, than simple installing plugins. Build your website just with HTML/CSS like you need it and then carve out the needed data and form it with PW templates and fields. First important advice on the forum is to search with google and not use the forum search itself, since this search is not that good. Second important advice is to wish you the same fun that i have after switched to Processwire - you will get some great moments if you are open to the basic concepts and ideas behind this piece of software. best regards mr-fan
  39. 1 point
    Great morning read, thanks for that And welcome to PW, you'll love it here.
  40. 1 point
    What I usually do is adding extra fields to system language pages like language code, locale, etc on multilang sites. This way there is no ambiguity on such things.
  41. 1 point
    I always find that the majority of a webdev work with PW is about front-end stuff and backend work with PW is a minor issue, at least compared to the systems. Of course this probably won't be the case on your first project but it will be soon. So if you know html and CSS (Js?) well, your learning curve won't be that steep.
  42. 1 point
    John, welcome to ProcessWire, and to the forums. As said already, great intro. I find it fascinating that you've gone from one end of the spectrum to the other. You just don't see that often. That said, with your confidence (and seemingly good general knowledge regarding this end of the spectrum), you'll do just fine. And, of course, we'll all be willing to help you whenever you need it. So welcome, and enjoy the ride. (Hmm, so I'm busy thinking about this electric sign for PW - imagination running wild... )
  43. 1 point
    Welcome John! Indeed great intro! As Adrian stated, here is full of really helpful folks if you show the right attitude. Get ready, you are about to experience blissful webdev, best luck on your new career!
  44. 1 point
    Welcome to ProcessWire and the forums John! Loved your intro!
  45. 1 point
    Looks really great I would love to see the possibility to subscribe to a topic and get notified by email when an answer is posted
  46. 1 point
    Hello again, I'm just a beginner with regex. I had found the code via Google. The "$1" part seemed a bit strange to me (in this case). It normally corresponds to the first "capturing group" (that you sometimes/always? put between parenthesis). Perhaps a slash was needed before en or se(?). "- Will also redirect any URL that starts with letters "en" on "se" in the default language, for example "/enigma" or "/second"." This seems normal as .* = .{0,} = match any char zero or more times, and there is no slash after en or se. You normally need a slash before (.*), in your case. You could use (en|se) also apparently or [a-z]{2} (Limits to 2 characters. With or without parenthesis, it depends on the case). You can test regex codes at https://regex101.com/, http://regexr.com/ or elsewhere. There is also, for instance, http://regex.learncodethehardway.org/book/. I don't remember if I finished reading everything. I'll probably have to start all over again (one day).
  47. 1 point
    Personally, I think PW is better off focusing on the CMS rather than worrying about building a forum solution. This just distracts and removes time better spent on expanding and improving an already excellent CMS. There are plenty of exceptional forum solutions out there already, why not use one of them? A native one just become a lot more work starting from scratch when tons of options already exist. That's my two cents.
  48. 1 point
    Thanks, Hani. PHP 5.5 dropped JSON support due to the developer's aesotheric license. But those of us who are not yet at the front line are fine
  49. 1 point
    Hani, ProcessWire will scale pretty infinitely in terms of pages, but not in terms of fields or templates. The same can be said of databases in general–you can have millions of rows in a table, but probably don't want millions of tables. I would say you've gone beyond what may be practical for long term use and maintenance of the site. At least, I have never tested ProcessWire with any more than 200 fields (and I thought that was an insane amount). I would be curious why so many fields are necessary? It might be good for us to get a list of all the fields, which may lead to some good suggestions on alternatives. But this is a situation where I think you might really benefit from making your own Fieldtype and Inputfield combinations. It is surprisingly simple to do, and can represent any DB table, no matter how many columns it needs. There is far less overhead in having a custom Fieldtype that represents a table with 100 columns, than there is in having 100 separate fields. Have a look at Adrian's new FieldtypePhone/InputfieldPhone module for a good example of how to represent a DB table with a Fieldtype. Some other options I can think of relate to ProFields, a pack of modules I've been working on to release soon (probably as commercially supported like FormBuilder and ProCache). It includes FieldtypeMultipler, FieldtypeTable, FieldtypeTextArray and FieldtypeTextareas, among others. These enable you to have a single field that can to represent any quantity of inputs. Though they all do it in a little bit different ways. FieldtypeMultiplier lets you take any other Fieldtype (that isn't already multi-value) and turn it into a multi-value field. FieldtypeTable is a multi-value compound type that lets you keep a user-defined combination of fields contained in a group… not quite as powerful as a repeater, but it's only 1 field and has far less overhead. FieldtypeTextArray lets you have a defined quantity of inputs for any text field… like say you needed a field to represent 3 email addresses, for instance. Lastly, FieldtypeTextareas lets you have 1 field that can represent any number of named textareas while having them all be searchable from the same field. For example, you could have a single field called "content" that contains separate inputs for body, sidebar, summary and about_the_author or something like that, but they only consume 1 field, accessed via $page->content->body, $page->content->sidebar, etc. All of these Fieldtypes/Inputfields are aimed at really reducing the overall quantity of fields necessary to represent lots of data. I developed this set because I had a site with lots of similar fields, and this group of modules helped me to reduce the quantity of fields by more than 70%. However, these aren't ready for production use, so it may be a little while before I have them ready. But if you'd be interested in helping to beta test them, your use case might be about perfect.
  50. 1 point
    Hi and welcome not sure if this is what you looking for: http://processwire.com/talk/index.php/topic,171.0.html
×
×
  • Create New...