Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: To 4.6 and beyond ...
Bloke wrote #292652:
At a simple level, the
/vendorsfolder takes a lot of stuff that was bunged intxplib_misc.phpor other “central” locations, and separates it into a tree of component parts that can be more easily used and reused. Easier to find stuff too as it’s all packaged into logical groups based on what that set of things do. If you poke around in each folder you’ll see how stuff is organised.
I’ll give the Vendors folder a more intense look over. Thanks for the explanation.
We Love TXP . TXP Themes . TXP Tags . TXP Planet . TXP Make
Offline
Re: To 4.6 and beyond ...
Bloke wrote #292647:
Under the hood the core’s new feature is called The Meta Store, because it’s all about efficiently and flexibly storing meta data against content. Not necessarily just articles, but all content types, including Users, Sections and Categories.
Cool. When can we see what you’re working on?
Offline
Re: To 4.6 and beyond ...
hcgtv wrote #292593:
why not release a [4.6/4.7 split of what’s currently planned for 4.6]
:) +1
I’ve voiced for this idea before. But for me it was even the little things that would make a big difference, like markup filters, new adjustments to image captions (so title="" attributes didn’t throw them), etc.
I’m sure there are a lot of little goodies like that in there that site managers can start implementing to improve workflow and architecture now. Get it done and dusted and be ready for bigger changes later.
Last edited by Destry (2015-07-07 08:29:51)
Offline
Re: To 4.6 and beyond ...
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Hire Txp Builders – finely-crafted code, design and Txp
Offline
#20 2015-07-06 23:55:07
- gomedia
- Plugin Author
- Registered: 2008-06-01
- Posts: 1,373
Re: To 4.6 and beyond ...
Bloke wrote #292647:
The next main issue to tackle is how to convert existing glz_cf data to the new Meta Store.
Will the existing glz_cfs run in parallel with the new Meta Store? If so, users will at least be able to upgrade to 4.6 and then convert.
This is not about adopting plugins, it’s about growing the core in places that benefit the most users while keeping it nimble and extensible enough that more functionality can be easily added by plugins.
Yes, it’s about TXP adopting ideas – wherever they come from. Textpattern as a CMS can’t stand still.
And “keeping it nimble”, or more importantly “making it more nimble” applies to the admin workflow as well – anything that smooths and greases the path of making websites using TXP is to be applauded.
Offline
Re: To 4.6 and beyond ...
gomedia wrote #292694:
Will the existing glz_cfs run in parallel with the new Meta Store? If so, users will at least be able to upgrade to 4.6 and then convert.
The plan was to make them exclusive. On upgrade, every custom_N column is created in the Meta Store table and then all CF data is copied from the textpattern table to value tables of the appropriate type. I was going to add a pre-upgrade callback hook in which I was planning to tell the core that what glz_cf calls a select_list is a core selectList, and a multi-checkbox is a checkboxSet, and so forth. Then, during upgrade Txp can migrate the column data safely.
But if we simply leave it so that only known types are converted, in theory (untested as yet) anything out of the ordinary will be left behind. The entries in prefs that define the custom fields remain. The columns in the textpattern table remain. In that case, you’d have a hybrid system, but I don’t know how it will manage at present. Will probably explode very ungracefully!
Take a look at the bottom of update/_to_4.6.0.php in the custom-fields branch and see what you think. As of right now it only removes columns and custom field pref definitions if every bit of data from every article is successfully migrated. When I was testing, sometimes that didn’t happen but it may have been because I was not going from a “clean” Txp 4.5.7 system each time, as there may have been some remnants of prior upgrade attempts floating around. Or my maths could have been broken.
I’d much rather NOT run them side by side and figure out a way to migrate everything on upgrade. But I’m not sure if that’s possible, especially when factoring in the glz custom scripts. If you can bring fresh eyes to this, I’d be most grateful for any assistance in figuring out the best path. Ta.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Hire Txp Builders – finely-crafted code, design and Txp
Offline
#22 2015-07-07 00:41:19
- gomedia
- Plugin Author
- Registered: 2008-06-01
- Posts: 1,373
Re: To 4.6 and beyond ...
Bloke wrote #292695:
I’d much rather NOT run them side by side …
Nothing wrong with the big bang approach … forcing the issue is often the best way.
As you can guess, adi_matrix is my elephant in the room. At least now I know I don’t have to install glz_cfs on my SVN site. But I will need to download the 4.6 unlimited CFs branch/twig/tree-limb-analogy to have a play. adi_menu is on the operating table at the moment, so bear with me. Next patient please!
Offline
#23 2015-07-07 17:48:08
- makss
- Plugin Author
- From: Ukraine
- Registered: 2008-10-21
- Posts: 355
Re: To 4.6 and beyond ...
- 265 needs testing.
I always use this patch since Sep 3, 2012. With txp 4.6 it works too.
I would suggest the next version of this patch. How is it best done? via Pull Request?
Example trace output after the change: (next version of this patch)
<!-- txp tag trace:
Mem(Kb)_|_+(Kb)_|_Trace___
5092 | 5092 |[SQL (0,0003349781036377): select name, data from test1com_txp_lang as txp_lang where lang='ru-ru' and event in('public','common')]
5165 | 73 |[SQL (0,00012803077697754): select name, code, version from test1com_txp_plugin as txp_plugin where status = 1 AND type IN (0,1,5) order by load_order asc, name asc]
5202 | 37 |[SQL (0,00012397766113281): select page, css from test1com_txp_section as txp_section where name = 'default' limit 1]
5118 | |[SQL (0,00012302398681641): select user_html from test1com_txp_page as txp_page where name = 'default']
5123 | 5 |[Страница: default]
5166 | 43 |<txp:lang />
5177 | 11 |<txp:text item="lang_dir" />
5177 | |<txp:page_title />
5178 | 1 |<txp:css format="link" media="" />
5178 | |<txp:site_url />
5179 | 1 |<txp:if_search>
5180 | 1 | [<txp:if_search>: false]
5188 | 8 | <txp:if_category>
5190 | 2 | [<txp:if_category>: false]
5194 | 4 | <txp:if_author>
5195 | 1 | [<txp:if_author>: false]
5194 | | </txp:if_author>
5190 | | </txp:if_category>
5190 | | <txp:if_section name="">
5196 | 6 | [<txp:if_section name="">: true]
5198 | 2 | <txp:site_url />
5191 | | </txp:if_section>
5182 | |</txp:if_search>
...skip...
The first column – used memory. The second column – an additional allocation memory. Reducing the memory not shown so as not to clutter up the output.
For me, this is very useful trace output.
aks_cron : Cron inside Textpattern | aks_article : extended article_custom tag
aks_cache : cache for TxP | aks_dragdrop : Drag&Drop categories (article, link, image, file)
Offline
Re: To 4.6 and beyond ...
makss wrote #292775:
For me, this is very useful trace output.
Yes, I like this. Very handy.
Merged, thank you very much for writing, testing and submitting the Pull Request.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Hire Txp Builders – finely-crafted code, design and Txp
Offline
Re: To 4.6 and beyond ...
makss wrote #292775:
For me, this is very useful trace output.
For me also, thank you.
Here it is, the default 4.6-dev install tag trace:
<!-- Runtime: 0.0258 -->
<!-- Query time: 0.010948 -->
<!-- Queries: 19 -->
<!-- Memory: 2912Kb, Form='default', Tag='<txp:category2 title="1" link="1" />' -->
<!-- txp tag trace:
Mem(Kb)_|_+(Kb)_|_Trace___
2600 | 2600 |[SQL (0.0018949508666992): select name, data from txp_lang where lang='en-us' and event in('public','common')]
2715 | 115 |[SQL (0.00095605850219727): select name, code, version from txp_plugin where status = 1 AND type IN (0,1,5) order by load_order asc, name asc]
2751 | 36 |[SQL (0.00077104568481445): select page, css from txp_section where name = 'default' limit 1]
2730 | |[SQL (0.0003049373626709): insert into txp_log set `time` = now(), page = '/zendstudio/textpattern-dev/', ip='192.168.1.23', host='192.168.1.23', refer='', status='200', method='GET']
2693 | |[SQL (0.00064396858215332): select user_html from txp_page where name = 'default']
2700 | 7 |[Page: default]
2743 | 43 |<txp:lang />
2750 | 7 |<txp:text item="lang_dir" />
2751 | 1 |<txp:page_title />
2752 | 1 |<txp:css format="link" media="" />
2752 | |<txp:site_url />
2753 | 1 |<txp:meta_description />
2757 | 4 | [SQL (0.00023889541625977): select description from txp_section where name = 'default']
2754 | |<txp:if_search>
2755 | 1 | [<txp:if_search>: false]
2764 | 9 | <txp:if_category>
2765 | 1 | [<txp:if_category>: false]
2769 | 4 | <txp:if_author>
2770 | 1 | [<txp:if_author>: false]
2769 | | </txp:if_author>
2765 | | </txp:if_category>
2765 | | <txp:if_section name="">
2771 | 6 | [<txp:if_section name="">: true]
2773 | 2 | <txp:site_url />
2766 | | </txp:if_section>
2758 | |</txp:if_search>
2757 | |<txp:feed_link flavor="atom" format="link" label="Atom" />
2758 | 1 |<txp:feed_link flavor="rss" format="link" label="RSS" />
2759 | 1 |<txp:css format="link" media="" name="ie8" />
2759 | |<txp:if_section name="">
2765 | 6 | [<txp:if_section name="">: true]
2771 | 6 | <txp:if_search>
2772 | 1 | [<txp:if_search>: false]
2777 | 5 | <txp:if_category>
2778 | 1 | [<txp:if_category>: false]
2782 | 4 | <txp:if_author>
2784 | 2 | [<txp:if_author>: false]
2783 | | </txp:if_author>
2778 | | </txp:if_category>
2773 | | </txp:if_search>
2762 | |</txp:if_section>
2762 | |<txp:link_to_home>
2765 | 3 | <txp:site_name />
2762 | |</txp:link_to_home>
2763 | 1 |<txp:site_slogan />
2763 | |<txp:text item="navigation" />
2764 | 1 |<txp:section_list default_title='<txp:text item="home" />' include_default="1" wraptag="ul" break="">
2768 | 4 | [attribute 'default_title']
2770 | 2 | <txp:text item="home" />
2768 | | [/attribute]
2772 | 4 | [SQL (0.00035190582275391): select name, title, description from txp_section where 1 order by name != 'default', name asc]
2776 | 4 | <txp:if_section name='<txp:section />'>
2778 | 2 | [attribute 'name']
2780 | 2 | <txp:section />
2778 | | [/attribute]
2782 | 4 | [<txp:if_section name='<txp:section />'>: true]
2777 | | </txp:if_section>
2777 | | <txp:section url="1" />
2778 | 1 | <txp:section title="1" />
2779 | 1 | <txp:if_section name='<txp:section />'>
2780 | 1 | [attribute 'name']
2782 | 2 | <txp:section />
2781 | | [/attribute]
2784 | 3 | [<txp:if_section name='<txp:section />'>: false]
2780 | | </txp:if_section>
2780 | | <txp:section url="1" />
2781 | 1 | <txp:section title="1" />
2770 | |</txp:section_list>
2770 | |<txp:text item="main_content" />
2773 | 3 |<txp:if_search>
2774 | 1 | [<txp:if_search>: false]
2792 | 18 | <txp:if_category>
2793 | 1 | [<txp:if_category>: false]
2799 | 6 | <txp:if_author>
2801 | 2 | [<txp:if_author>: false]
2803 | 2 | <txp:article limit="5" />
2834 | 31 | [filterAtts accepted]
2842 | 8 | [SQL (0.00055885314941406): select name from txp_section where on_frontpage != '1']
2843 | 1 | [SQL (0.00090193748474121): select count(*) from textpattern where 1=1 and Status = 4 and Posted <= now() and (now() <= Expires or Expires = '0000-00-00 00:00:00')]
2847 | 4 | [SQL (0.00053000450134277): select *, unix_timestamp(Posted) as uPosted, unix_timestamp(Expires) as uExpires, unix_timestamp(LastMod) as uLastMod from textpattern where 1=1 and Status = 4 and Posted <= now() and (now() <= Expires or Expires = '0000-00-00 00:00:00') order by Posted desc limit 0, 5]
2859 | 12 | [Article 1]
2865 | 6 | [SQL (0.00079202651977539): select Form from txp_form where name = 'default']
2866 | 1 | [Form: default]
2885 | 19 | <txp:if_individual_article>
2886 | 1 | [<txp:if_individual_article>: false]
2889 | 3 | <txp:permlink />
2890 | 1 | <txp:title />
2887 | | </txp:if_individual_article>
2887 | | <txp:text item="posted" />
2888 | 1 | <txp:posted format="iso8601" />
2888 | | <txp:posted />
2889 | 1 | <txp:if_comments>
2890 | 1 | [<txp:if_comments>: true]
2894 | 4 | <txp:text item="comments" />
2894 | | <txp:permlink />
2895 | 1 | <txp:text item="view" />
2895 | | <txp:comments_count />
2895 | | <txp:comments_count />
2891 | | </txp:if_comments>
2891 | | <txp:if_article_image>
2891 | | [<txp:if_article_image>: false]
2891 | | </txp:if_article_image>
2891 | | <txp:body />
2894 | 3 | <txp:text item="author" />
2895 | 1 | <txp:author link="1" this_section="1" />
2899 | 4 | [SQL (0.00034213066101074): select RealName from txp_users where `name` = 'hcgtv' limit 1]
2896 | | <txp:if_article_category>
2898 | 2 | [<txp:if_article_category>: true]
2903 | 5 | <txp:text item="categories" />
2904 | 1 | <txp:if_article_category number="1">
2906 | 2 | [<txp:if_article_category number="1">: true]
2908 | 2 | <txp:category1 title="1" link="1" />
2913 | 5 | [SQL (0.00042986869812012): select title from txp_category where name='hope-for-the-future' and type='article']
2906 | | </txp:if_article_category>
2906 | | <txp:if_article_category number="2">
2908 | 2 | [<txp:if_article_category number="2">: true]
2911 | 3 | <txp:if_article_category number="1">
2913 | 2 | [<txp:if_article_category number="1">: true]
2911 | | </txp:if_article_category>
2912 | 1 | <txp:category2 title="1" link="1" />
2916 | 4 | [SQL (0.00018095970153809): select title from txp_category where name='meaningful-labor' and type='article']
2908 | | </txp:if_article_category>
2902 | | </txp:if_article_category>
2902 | | <txp:if_individual_article>
2902 | | [<txp:if_individual_article>: false]
2902 | | </txp:if_individual_article>
2829 | | </txp:if_author>
2823 | | </txp:if_category>
2822 | | <txp:variable name="more" value='<txp:newer /><txp:older />' />
2826 | 4 | [attribute 'value']
2828 | 2 | <txp:newer />
2829 | 1 | <txp:older />
2827 | | [/attribute]
2825 | | <txp:variable name="prev" value='<txp:newer />' />
2828 | 3 | [attribute 'value']
2830 | 2 | <txp:newer />
2828 | | [/attribute]
2826 | | <txp:variable name="next" value='<txp:older />' />
2828 | 2 | [attribute 'value']
2831 | 3 | <txp:older />
2829 | | [/attribute]
2827 | | <txp:if_variable name="more" value="">
2830 | 3 | [<txp:if_variable name="more" value="">: true]
2828 | | </txp:if_variable>
2810 | |</txp:if_search>
2808 | |<txp:search_input />
2812 | 4 | [SQL (0.00034618377685547): select form from txp_form where `name` = 'search_input' limit 1]
2816 | 4 | <txp:text item="search" />
2816 | | <txp:site_url />
2817 | 1 | <txp:site_url />
2817 | | <txp:site_url />
2817 | | <txp:if_search>
2818 | 1 | [<txp:if_search>: false]
2818 | | </txp:if_search>
2818 | | <txp:text item="go" />
2811 | |<txp:feed_link class="feed-rss" label="RSS" />
2811 | |<txp:feed_link class="feed-atom" flavor="atom" label="Atom" />
2812 | 1 |<txp:variable name="links" value='<txp:linklist limit="1" />' />
2814 | 2 | [attribute 'value']
2817 | 3 | <txp:linklist limit="1" />
2825 | 8 | [SQL (0.00032401084899902): select *, unix_timestamp(date) as uDate from txp_link where 1=1 order by linksort asc limit 0, 1]
2829 | 4 | [SQL (0.00013399124145508): select Form from txp_form where name = 'plainlinks']
2828 | | [Form: plainlinks]
2830 | 2 | <txp:linkdesctitle rel="external" />
2817 | | [/attribute]
2815 | |<txp:if_variable name="links" value="">
2817 | 2 | [<txp:if_variable name="links" value="">: false]
2820 | 3 | <txp:text item="links" />
2821 | 1 | <txp:linklist wraptag="ul" break="li" />
2829 | 8 | [SQL (0.00018501281738281): select *, unix_timestamp(date) as uDate from txp_link where 1=1 order by linksort asc ]
2831 | 2 | [Form: plainlinks]
2834 | 3 | <txp:linkdesctitle rel="external" />
2832 | | [Form: plainlinks]
2835 | 3 | <txp:linkdesctitle rel="external" />
2833 | | [Form: plainlinks]
2835 | 2 | <txp:linkdesctitle rel="external" />
2833 | | [Form: plainlinks]
2836 | 3 | <txp:linkdesctitle rel="external" />
2834 | | [Form: plainlinks]
2837 | 3 | <txp:linkdesctitle rel="external" />
2835 | | [Form: plainlinks]
2837 | 2 | <txp:linkdesctitle rel="external" />
2820 | |</txp:if_variable>
2820 | |<txp:text item="published_with" />
2820 | |<txp:text item="go_txp_com" />
2770 | |[ ~~~ secondpass ~~~ ]
-->
We Love TXP . TXP Themes . TXP Tags . TXP Planet . TXP Make
Offline
#26 2015-07-13 08:55:01
- makss
- Plugin Author
- From: Ukraine
- Registered: 2008-10-21
- Posts: 355
Re: To 4.6 and beyond ...
I’m almost finished with the log trace. I invite you to discuss and test this functionality. Pull Request
I would like to hear your opinion, what else can be added or removed? What activities or events must also benefit from logging?
To test you need to go here and click the Download ZIP.
Last edited by makss (2015-07-13 09:01:20)
aks_cron : Cron inside Textpattern | aks_article : extended article_custom tag
aks_cache : cache for TxP | aks_dragdrop : Drag&Drop categories (article, link, image, file)
Offline
Re: To 4.6 and beyond ...
makss wrote #293111:
I would like to hear your opinion, what else can be added or removed? What activities or events must also benefit from logging?
This looks great. Thank you!
Offline