GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Article write panel: Pluggable UI callback 'article_ui.extend_col_1' for volatile content missing · Issue #1917 · textpattern/textpattern

Article write panel: Pluggable UI callback 'article_ui.extend_col_1' for volatile content missing #1917

New issue
Copy link
New issue
Copy link
Open
Open
Article write panel: Pluggable UI callback 'article_ui.extend_col_1' for volatile content missing#1917
Copy link
Labels
pluginsusability / UI / UX
Milestone
v4.9

Description

@rwetzlmayr
rwetzlmayr
opened on Apr 7, 2024
Issue body actions

Currently, the article_ui.extend_col_1 pluggable UI callback is only called once, when the Article Write Panel is first drawn:

textpattern/textpattern/include/txp_article.php

Line 1017 in c2ee906

echo pluggable_ui('article_ui', 'extend_col_1', '', $rs);

In subsequent renderings of this panel after intermediate "save" operations, there is a short-cut bail-out branch:

textpattern/textpattern/include/txp_article.php

Line 751 in c2ee906

// Bail out.

This hampers plugins that want to extend this part of the UI for displaying volatile content.

I suggest extending the current article_ui.extend_col_1 events scope to fire the event when volatile parts of the write panel are redrawn as well.

Activity

  1. bloatware commented on Apr 8, 2024

    @bloatware
    bloatware
    on Apr 8, 2024
    Member
    More actions

    Sounds logical. The only drawback I can imagine is plugins (if any) firing js on full page load, they might need to be adapted.

  2. petecooper
    added
    usability / UI / UX
    plugins
    on May 9, 2024
  3. Bloke commented on Jul 16, 2024

    @Bloke
    Bloke
    on Jul 16, 2024
    Member
    More actions

    Has this callback been reinstated yet, @bloatware? If not, are you able to do it please?

  4. Bloke commented on Oct 5, 2024

    @Bloke
    Bloke
    on Oct 5, 2024
    Member
    More actions

    @rwetzlmayr Would it be best here to add extend_col_1 to the $partials array as PARTIAL_VOLATILE, then make a stub callback function that core doesn't explicitly use and just re-raise the (pluggable_ui?) article_ui.extend_col_1 callback inside it? Plugins should then be able to hook into it, right?

    The main thing I'm confused about is how we know which selector to use when the area is just a blank canvas for plugins to play in. Do we also need to (re)introduce the container where the recent articles and next/prev nav block used to live, and leave it empty?

    PRs welcome :)

  5. rwetzlmayr commented on Oct 18, 2024

    @rwetzlmayr
    rwetzlmayr
    on Oct 18, 2024
    ContributorAuthor
    More actions

    Do we also need to (re)introduce the container where the recent articles and next/prev nav block used to live, and leave it empty?

    This sounds reasonable, although it might annoy markup purists to include an empty element just to provide a blank canvas for plugins to scribble around in.

    PRs welcome :)

    Thank you for your consideration, but I would prefer not to. Retirement has taken its toll on my knowledge of the inner workings of webdev, so I'm a bit off the grid here.

  6. Bloke commented on Oct 18, 2024

    @Bloke
    Bloke
    on Oct 18, 2024
    Member
    More actions

    Totally cool, thank you. @bloatware can you think of any other way to do this without an empty element? I'm happy for us to reintroduce the container and callback.

  7. bloatware commented on Oct 18, 2024

    @bloatware
    bloatware
    on Oct 18, 2024
    Member
    More actions

    Could it be added conditionally, if any plugin needs it? Currently we check if (has_handler('article_ui', 'extend_col_1')). Not sure whether it would work for volatile content, but a test would suffice.

  8. Bloke commented on Oct 18, 2024

    @Bloke
    Bloke
    on Oct 18, 2024
    Member
    More actions

    If you think it might work, please give it a shot. If it works, it'd be a handy pattern to apply in Txp 5 for optional content and dynamic custom fields :)

  9. bloatware
    added a commit that references this issue on Oct 18, 2024

    Volatile extended area

    8fbfd1b
  10. bloatware commented on Oct 18, 2024

    @bloatware
    bloatware
    on Oct 18, 2024
    Member
    More actions

    Seems to work, but needs some love

  11. bloatware commented on Oct 19, 2024

    @bloatware
    bloatware
    on Oct 19, 2024
    Member
    More actions

    Will this markup for extend_col_1 area be okay? It is produced by our (modified) wrapGroup() function:

    <section id="txp-extended-group">
      <div role="group">
        <div class="txp-container">
          ... plugins output ...
        </div>
      </div>
    </section>
    
  12. bloatware
    added a commit that references this issue on Oct 19, 2024

    See #1917

    7b04622
  13. Bloke commented on Oct 19, 2024

    @Bloke
    Bloke
    on Oct 19, 2024
    Member
    More actions

    Seems like reasonable markup to me. I've not tested this patch yet but the code looks good. Thank you.

  14. petecooper commented on Nov 4, 2025

    @petecooper
    petecooper
    on Nov 4, 2025
    Member
    More actions

    @bloatware @Bloke How viable would it be to squeeze this into 4.9.0, please?

  15. petecooper
    added this to the v4.9 milestone on Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    pluginsusability / UI / UX

    Type

    No type

    Projects

    No projects

      Milestone

      • v4.9No due date

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.