Jump to content

markus_blue_tomato

Members
  • Posts

    192
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by markus_blue_tomato

  1. ElasticsearchFeeder

    This ElasticSearch module for ProcessWire will sync your page content to an ElasticSearch index, which provides you a convenient way to search it.

    Thanks to @jonathan-dart who created the first ES Module for PW and which influenced us a lot. Our approach was to create an a module where we can make for each template a flexible schema. You can define on you own which data ind which format should be transfered to ElasticSearch.

     

    Github Page: https://github.com/blue-tomato/ElasticsearchFeeder

    Module Page: https://modules.processwire.com/modules/elasticsearch-feeder/

    • Like 13
  2. node-processwire-logger

    Node.js module to log directly into the ProcessWire CMS/CMF log.

    Why?

    We had an use-case where we pre-generate static html pages from ProcessWire with ProCache and some internal node.js generator script. We thought it would be helpful to log errors when something goes wrong in the generator-process directly to the ProcessWire log. For this reason we created this Node.js Package.

    Github Page: https://github.com/blue-tomato/node-processwire-logger

    NPM Page: https://www.npmjs.com/package/node-processwire-logger

    • Like 2
  3. I've tried some experiments with Processwire on Heroku (with multiple Dynos).

    It worked - I used

    • For Sessions: Heroku Redis + https://modules.processwire.com/modules/session-handler-redis/ + https://elements.heroku.com/addons/heroku-redis
    • For Uploads: Amazon S3 + https://modules.processwire.com/modules/amazon-s3-cloudfront/
    • For the DB: https://devcenter.heroku.com/articles/jawsdb-maria
    • Like 2
    • Thanks 1
  4. On 10/31/2018 at 10:19 AM, bernhard said:

    Just a quick tip you might find helpful. It makes the code more readable if you use constants instead of integer variables. You'll get them from intellisense in your IDE so it's also easier to look them up like this than heading over to the docs:

    ha2P3ar.png

    @tiefenbacher_bluetomato Greetings from Vienna to Schladming(?) ?  Looking forward to the winter ? 

    Thx! 

    Our IT and Web-Dev Department is located in Graz - so greeting to vienna ?

    • Like 1
  5. Thanks!

    I tried this and it works great (example):

    $field->useRoles = 1;
    $field->editRoles = array('author');
    $field->viewRoles = array('translator', 'author');

    But I decided to solve it in an other way - because I have an hook where "translator" have also edit right to the field. The user only should not have write-access in the GUI to it.

    I solved this with the "Visibility" setting. Namend "collapsed in the API:

    $field->collapsed = 7;

    image.thumb.png.9b2b726b40af76ce1c412b691a1ccaf4.png

  6. I want to create a field, which I add later to a template.

    How can I set the access-rights only to superusers? I want, that this field is only visible to superusers.
    And my second question: Is it possible to make the field also read-only in the frontend but write-able from the API?

    $field = new Field();
    $field->type = $modules->get("FieldtypeText");
    $field->name = "my_field";
    $field->label = "My Field Label";
    $field->value = '';
    $field->save();

     

     

  7. And this is my var_dump vom the image field:

    object(ProcessWire\Pageimages)#1233 (6) { ["count"]=> int(0) ["page"]=> string(66) "/en/blue-world/snowboard/nash-finale-2018-next-austrian-snow-hero/" ["field"]=> string(17) "news_previewimage" ["url"]=> string(24) "/site/assets/files/2746/" ["path"]=> string(37) "/var/www/html/site/assets/files/2746/" ["items"]=> array(0) { } }

     

  8. I have an hook in an module, where I do some URL manipulation on my Imagefiles. This works really nice in the frontend. (e.g. add query parameters)

    /*
    ... some module code...
    */
    public function init() {
       $this->addHookAfter('Pagefile::url', $this, function(HookEvent $event) {
        if(!$event->object instanceof Pagefile) { return; }
          $file = $event->object;
          $fileBasename = $file->basename;
          $event->return = $fileBasename . '?lorem=ipsum';
       });
    }

    Now I'm developing an module where I send my pages to ElasticSearch after saving the page with an Hook after the save.

    public function init() {
    	$this->pages->addHookAfter('save', $this, function(HookEvent $event) {
    		$page = $event->arguments[0];
    		
    		// hook does not form. query parameters are not added
    		$image = $page->my_image_field->url; 
    
    	});
    }

    But within the Page::save Hook, the Pagefile::url Hook is not executed.  The whole module init from the Pagefile::url is executed but the Hook itself not.

    Does anyone know what I'm doing wrong? Or is this not possible?

     

  9. I'm want to set up access rules for my translators. I followed the steps in this article: https://processwire.com/blog/posts/language-access-control-and-more-special-permissions/

    After setting this up. My French translator can't see the input from other languages for multilanguage fields. No English, no German, only French.

    Is it possible to give someone the rights to see the english input and only write to french? This would be much more easy to translate the content from english to french.

×
×
  • Create New...