Jump to content

entschleunigung

Members
  • Posts

    68
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by entschleunigung

  1. Hello everyone,

    Some of you may already be working with DDEV, and probably some of you are familiar with Tailscale as well. Just briefly: Tailscale is, and I’ll try to be as sober as possible, a gift from the heavens.
    It’s a type of mesh VPN and ridiculously easy to install and manage. It's free for up to 100 clients, too.
    Please just check out a few videos on YouTube about it, it’s a lot of fun to work with.

    In broad strokes, it works like this:
    You sign up – for example – with Google Auth at tailscale.com.
    Then you install – for example – the client for your Mac (it’s available for nearly all operating systems).
    You also install the client on your home server.
    (In my case, Tailscale is also running on my Synology, and there are some great guides for that.)

    A rough outline of the workflow:
    (For installation details and the necessary steps, Perplexity was a huge help.
    LLMs are truly a blessing for this kind of thing; there are nice step-by-step guides.)

    I still had a Dell Optiplex 7050 lying around (these things cost about 100 euros, they’re very quiet and energy-efficient). I also had some extra RAM, and I installed a 1 TB NVMe. I installed Debian 12 netinstall and then added all the necessary packages. Those include: Docker, DDEV, Tailscale
    (https://tailscale.com/kb/1031/install-linux)

    After a successful installation, you'll be prompted in the console:

    To authenticate, visit:
    https://login.tailscale.com/a/XXXXXXXXXXXXXXX

    Open the URL in your browser and log in using the same auth method – for me, that’s Google in all cases.
    And just like that, your server has joined your Tailscale network and gets an IP in the format 100.x.y.z and tailxxxx.ts.net.

    Docker and DDEV should already be running smoothly before proceeding.
    To make Docker listen to the Tailscale IP, you'll need to add the following to /etc/docker/daemon.json:

    {
      "hosts": ["fd://", "tcp://100.x.y.z:2375"]
    }

    This may vary in your case, but the idea should be clear.

    On my laptop, I use VSCode, and I’ve also installed the "VSCode Remote SSH Extension" to handle everything remotely.

    My specific workflow now is that I log into the server with the IDE, and for example, under /home/$USER/sites/$project, I start a new DDEV project.
    You know the drill: ddev config, ddev start, and so on...

    Now, to access the newly created projects from my client (here, a MacBook) without constantly editing the hosts file, I installed dnsmask via brew.
    In the default installation, you can edit the dnsmask.conf via nano:

    nano /opt/homebrew/etc/dnsmasq.conf

    And there, please add:

    address=/.ddev.site/100.x.y.z

    Then run:

    sudo brew services restart dnsmasq

    Et voilà, that’s it. Your example.ddev.site is now directly accessible.

    This might be a bit rough around the edges, but you’re professionals, and the idea should be clear. It has greatly improved my workflow, and I no longer have to worry about securing my server, since it’s only accessible from my Mac, no matter where I am, while my project data is safe on my home server. 

    I hope you'll have as much fun with it as I have! 😀

    • Like 2
  2. 17 hours ago, Ivan Gretsky said:

    As far as I got it, it is just by convention. Nothing prevents someone to move the 1st item to another position. That was what I was asking about.

    As far as I understand, this is just a convention. Nothing prevents someone from moving the 1st point to a different location. That was what I wanted to know.

    That's true, but in this use case I can live with it since it's a small group of users that will be working with it. They know about it and they know the process.

    The first entry, i.e. the first repeater always exists, under certain circumstances it may be that this first entry has to be corrected, and there it seemed easiest to me to solve this via repeater, that it already offers the possibility to clone the repeater manually by an editor in the backend.

    i have now solved it with a few lines of jQuery.

    best thanks so far

     

     

     

    • Like 1
  3. hi @Ivan Gretsky,

    the first repeater always remains the first, the order does not change.
    in the repeater (they are created with a hook) are time entries and can be duplicated by the editors in the backend, for further editing some fields are necessary, which i don't need in the first repeater.

    @BitPoet, as far as I understand FieldsetPage doesn't help me at this point, right?


    thanks a lot so far

  4. I have a repeater field with for example four fields: select option, name, phone, email ... Iwant the select option field not to appear in the first repeater, if i clone the repeater field manually, it should appear in the second repeater. I can't get there with the visibility settings, what are the possibilities? maybe a hoook?

    If i have to, i can do it with CSS, but i don't want that for now.

    Thanks in advance

  5. Hi,

    I once bought a license years ago, now I wanted to install MM again.
    I have version 0.12 B, installed with PW 3.0.200 and Jquery File Upload 0.0.9, at first glance everything looks good.

    I can upload images in the admin, these also appear, but now the curious, as soon as I click on an image on Edit the image is deleted.

    In the logs also appears "rmdir: Unable to rmdir: /site/assets/cache/FileCompiler/".

    All this is installed on a local environment with DDEV and PHP 7.4 ...

    Any idea what could be the reason for this?

    Greetings

  6. thank you very much, this looks promising. I imagined it to be exactly like your screenshot.
    i will test it as soon as i am back in the office.

     

    11 minutes ago, BitPoet said:

    Try renderPager() instead of renderPages(). And remove start=0, this prevents MarkupPageNav from increasing the offset. Only use it when you explicitly don't want to paginate your results.

    unfortunately, that didn't work, so that wasn't the problem. var_dump still says NULL.
    (I was quite ready to laugh at myself).

     

    cheers

  7. Hello all,

    paginating 'normal' pages and subpages is not a problem, but i have a merged array here that is not working.
    at the end i would like to have a page that has several areas with pagination. you know this from the admin area, there's an ajax pagination if you have many pages in a tree.

    something like this:

    DE
        1. News title 
        2. News title
        ...
        10. News title
    
        Pagination for DE  1 - 2 - 3 - 4 ...
    
    EN
        1. News title 
        2. News title
        ...
        10. News title
    
        Pagination for EN  1 - 2 - 3 - 4 ...
    
    ES
        1. News title 
        2. News title
        ...
        10. News title
    
        Pagination for ES  1 - 2 - 3 - 4 ...


    this is the way to build the array:

    $mailings_natural_sort = $page->children()->each(function ($natural) {
        $natural->custom_sort = $natural->created;
    });
    
    $mailings_custom_sort = $page->children("news_alt_date!=''")->each(function ($custom) {
        $custom->custom_sort = $custom->news_alt_date;
    });
    
    $all_mailings = $mailings_natural_sort->add($mailings_custom_sort)->sort('custom_sort');

    the mailings are still split into languages assigned to backend, that's done here

        foreach ($languages as $language) {
            $news_related = $all_mailings->find("refNewsLanguages=$language, listMailing=0, start=0, limit=10");
            if (count($news_related)) {
                foreach ($news_related as $mailing) {
                    // list news
                }
    
                // for testing
                // echo $news_related; // returns 10400|10668|10610|10217|10580|10653|10598|10631|10566|10625
    
                // why this not work?
                $pagination = $news_related->renderPages(); 
                echo $pagination; // returns nothing, nada, zero
    
            }
    
        }

    the prerequisite for pagination is given, "Allow Page Numbers" enabled on the list page. why this not work? 
    and has anyone ever implemented pagination with ajax and has an example of it?

    for relevant hints will ich auch einen Kasten Spezi springen lassen ?

     

     

  8. Hi kongondo,

    unfortunately i have the same problem, some thumbnails are not displayed. the workaround from the troubleshooting page did not help either.

    Setup:
    ProcessWire 3.0.148
    PHP Version 7.3.25
    FPM/FastCGI
    mysqlnd 5.0.12-dev
     

    thx

     

  9. Hello to all,

    some time ago i updated from 3.0.123 to 3.01.65 and noticed that the following selector does not work anymore on a multilingual site. the languages are "de" and "en". 

    $list= $pages->find("template=tpl1|tpl2, title!^='disable-', sort=-date, limit=3");

    with PW 3.0.123 this worked wonderfully, the result was for example 3 pages in "de" and "en".
    with PW 3.0.165 I get the 3 pages only in "de", which is the default language, but nothing in "en".

    what has changed, why does this selector no longer work?

    thanks a lot in advance

     

  10. Hi kongondo,

    unfortunately it is not possible for me to give you access to the site, otherwise I would have done it long ago. The client takes the topic GDPR very seriously and access for third parties is difficult. 

    However, I've gotten the client to the point where we're changing the hosting, because there are other problems in this setup as well. I will definitely get back to you and report on the further progress. Thanks also for the support via mail.

    Cheers

     

  11. Hi kongondo,

    that was the problem that comes up every now and then:

    message: "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'name-of-the-image-1695' for key 'name_parent_id'""

    message: "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'name-of-the-image-1695' for key 'name_parent_id'""

    we already talked about the following problem via mail (Subject: Some bugs with upload images).
    here are some more details you asked for:

    What versions of MySQL, ProcessWire and Media Manager are you using?

    Windows IIS
    MySQL: 8.0.15, MyISAM, utf8_general_ci, PHP extension MySQLi
    PHP version 7.2.7
    Media Manager (Process) v0.1.2 β

    Did anything change on the server recently?

    No

    What is the average size of the images you are trying to upload?

    2 -3 MB

    Does the error happen with non-image media as well?

    Yes

    Is the error happening for different images or always the same image?

    different

    Is this a multilingual site?

    Yes

    at the moment we help ourselves with renaming the picture and always something like that 01 ... 02 ... 03 in front of the picture name, but even that does not work reliably.

     

    thank you and greetings from munich

     

  12. thanks first. as soon as i get back to the office, i'm gonna go test this out. as louis suggested, maybe it could work out that way:

    "salutation" => $user->my_field->title;

     

    currently, it's like this

    "salutation" => $user->my_field;

    and only the ID goes out there.

     

    vor lauter bäumen und so ... thx 

    • Like 1
  13. hi @MoritzLost,

    you are right of course, normally i don't have to change the format, but in this case i send the information to an external source (subscribe newsletter) that can only handle values like "mr" or "ms". 
    (to complete it: via the LoginRegister module a user is registered and at the same time the newsletter registration is done) 

    sorry if the information comes in bits and pieces, but i thought if i write the following, as described in the document 

    1=mr|Mr

    that in this case ProcessWire will take the value instead of the ID when the input radio is rendered.

    it seems i was on the wrong track ?

    greetings & servus

     

  14. Hello, everyone,

    i have created a radio field as follows

    1=Mr|Mr
    2=Ms|Ms

    the following is output in the source code:

    <input type="radio" name="name" id="id" class="class" value="1">

    but I need:

    <input type="radio" name="name" id="id" class="class" value="mr">

    how do I get the value to be output instead of the id?

    thx 

  15. 16 hours ago, horst said:

    Why not?

    I'm sorry, maybe I expressed myself a bit unlucky, because what moritz wrote is certainly good and right.  it's rather due to my own failings ?
    i'm trying to solve it now by adding the filename of the pdf file to a repeater field in the user template using jquery and ajax.

    THX

×
×
  • Create New...