<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Transition Technology: Ticket Query</title>
    <link>http://localhost:8080/trac/query?status=!closed&amp;reporter=jim&amp;desc=1&amp;order=priority</link>
    <description>Support and issues tracking for the Transition Network Web Project.</description>
    <language>en-US</language>
    <image>
      <title>Transition Technology</title>
      <url>/trac/chrome/site/TransitionNetwork-Logo-Web-Small.jpg</url>
      <link>http://localhost:8080/trac/query?status=!closed&amp;reporter=jim&amp;desc=1&amp;order=priority</link>
    </image>
    <generator>Trac 0.12.5</generator>
    <item>
        <link>http://localhost:8080/trac/ticket/590</link>
        <guid isPermaLink="false">http://localhost:8080/trac/ticket/590</guid>
        <title>#590: Drupal performance improvements</title>
        <pubDate>Fri, 06 Sep 2013 10:27:27 GMT</pubDate>
        
        <dc:creator>jim</dc:creator>

        <description>&lt;p&gt;
This ticket is to track the work and changes done within the Drupal sphere in relation to performance enhancements done since &lt;a class="closed ticket" href="http://localhost:8080/trac/ticket/585" title="maintenance: TTech Meeting 5th September 2013 (closed: fixed)"&gt;#585&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
More information is needed and will come when &lt;a class="closed ticket" href="http://localhost:8080/trac/ticket/586" title="maintenance: New Relic Monitoring for BOA (closed: fixed)"&gt;ticket:586&lt;/a&gt; New Relic Monitoring for BOA is completed.
&lt;/p&gt;
&lt;p&gt;
I also note that many of these cleanup operations will also help make the move to D7 smoother and better.
&lt;/p&gt;
&lt;h1 id="Summaryofactionsandstatus"&gt;Summary of actions and status&lt;/h1&gt;
&lt;h2 id="TODO"&gt;TODO&lt;/h2&gt;
&lt;p&gt;
&lt;strong&gt;O) Stop making so many URL aliases for non-relevant pages, clean up url_alias table&lt;/strong&gt; -- 1/4-1/2 hour, medium reward, only risk is that some already broken links might break... Per chat with Ed, only these will be removed (plus releated tweaks to Pathauto settings):
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;3,579 entries where src = node/%/feed
&lt;/li&gt;&lt;li&gt;1,856 entries where src = user/%/contact
&lt;/li&gt;&lt;li&gt;= 5,435 or ~11% of entries in url_alias
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;L) Review slow query log, explain queries, tweak as necessary/flag poorly behaving modules.&lt;/strong&gt; 2-4 hours, high reward, low risk... Keep looking at the slow query log and adjust Drupal or find patches as necessary. ALSO related &lt;a class="ext-link" href="http://2bits.com/articles/reduce-your-servers-resource-usage-moving-mysql-temporary-directory-ram-disk.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Reduce your server's resource usage by moving MySQL temporary directory to tmpfs&lt;/a&gt;... Have opened ticket for this: &lt;a class="closed ticket" href="http://localhost:8080/trac/ticket/591" title="maintenance: Move MySQL temporary directory to tmpfs (closed: fixed)"&gt;#591&lt;/a&gt; for Chris.
&lt;/p&gt;
&lt;h3 id="Done"&gt;Done&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;A) Remove spam taxonomy entries&lt;/strong&gt; &lt;del&gt;1/2 hour, Low risk, low reward -- See item 8 below. A simple delete from taxo term table where length &amp;gt; 50 is worth doing IMHO, and nothing I saw that would be clobbered is not spam.&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;B) Try a Taxonomy Cleanup&lt;/strong&gt;:  &lt;del&gt;3 hours, Medium risk, medium reward -- style module to try to merge terms with the same names and clean up the link tables back to nodes. Further, we can remove any taxonomies or relations to certain CTs that don't really add value.&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;D) Review Views caching&lt;/strong&gt; &lt;del&gt;1 hour, low risk, high reward -- Utilise Views Content Cache this was done a while back but I think -- done (task 12) in comment 21.&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;F) Force blocks caches to cached appropriately (and be rendered/included only as needed)&lt;/strong&gt; &lt;del&gt;1-2 hours, medium reward, low risk -- BOA packages the &lt;a class="ext-link" href="https://drupal.org/project/blockcache_alter"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Block Cache Alter&lt;/a&gt;, which makes sure Drupal only renders blocks when needed. Potential small but nice boost quickly in whole site. -- per comment 22, block caching is disabled by other modules so this will have to go on hold for now.&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;H) Remove &lt;a class="missing wiki"&gt;CustomError?&lt;/a&gt; module all together&lt;/strong&gt; &lt;del&gt;1/2 hour, low risk, low reward -- We should take out the PHP code from the 403 section of &lt;a class="missing wiki"&gt;CustomError?&lt;/a&gt; and put it into a simple page entry. See comment 6 below as this has happened for 404s (which need no PHP). We can then remove the &lt;a class="missing wiki"&gt;CustomError?&lt;/a&gt; module all together, saving lots of sessions. I would go ahead and do this but since the 403 page has various displays depending on user type, I wanted to raise it here as it *may* have side effects. Or not...&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;I) Re-enable block caching.&lt;/strong&gt; &lt;del&gt;2-6 hours, high risk, high reward -- Per comment 24, a module (probably Content Access) is stopping Drupal caching blocks, which for some of them means a fair amount of pointless overhead. We need to somehow get around this and get blocks cached if possible. R&amp;amp;D mainly, perhaps with some hacking/patching - but I'd stop short of doing this if so.&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;K) Add &amp;amp; enable Views Lite Pager on big views.&lt;/strong&gt; &lt;del&gt;1 hour, low risk, low reward -- Using this module stops a heavy count query on views with pagers -- recommended for large sites.&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;M) Take control of Cron, and maximise time pages are cached for.&lt;/strong&gt; &lt;del&gt;.25h, high reward, low risk -- Cron is wiping the page cache, so we need to install &lt;a class="ext-link" href="https://drupal.org/project/elysia_cron"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://drupal.org/project/elysia_cron&lt;/a&gt; so we can clear the page less often, and run other things when we want and the site is quieter. Now need per minute resolution set to get the best, see comment 33 and 34 for more...&lt;/del&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;N) Replace Admin Menu 1.x with 3.x&lt;/strong&gt; -- will happen when &lt;a class="assigned ticket" href="http://localhost:8080/trac/ticket/590" title="defect: Drupal performance improvements (assigned)"&gt;#590&lt;/a&gt; occurs, marking complete here -- &lt;del&gt;5 mins, high reward, low risk -- done when &lt;a class="assigned ticket" href="http://localhost:8080/trac/ticket/582" title="maintenance: TN.org platform and sites (assigned)"&gt;#582&lt;/a&gt; happens, could be the cause of some load spikes as it occasionally goes made and does 2000-5000 queries~~
&lt;/del&gt;&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost:8080/trac/ticket/590#changelog</comments>
    </item><item>
        <link>http://localhost:8080/trac/ticket/644</link>
        <guid isPermaLink="false">http://localhost:8080/trac/ticket/644</guid>
        <title>#644: AWstats Nginx config breaks aegir</title>
        <pubDate>Mon, 09 Dec 2013 16:46:05 GMT</pubDate>
        
        <dc:creator>jim</dc:creator>

        <description>&lt;p&gt;
Since the last update we've had a silent ngnix error that means &lt;a class="ext-link" href="http://tn.puffin.webarch.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://tn.puffin.webarch.net&lt;/a&gt; was not available.
&lt;/p&gt;
&lt;p&gt;
I restarted nginx and got:
&lt;/p&gt;
&lt;pre class="wiki"&gt;[  ok  ] Stopping Nginx Server...:
[ .... ] Starting Nginx Server...:nginx: [emerg] "log_format" directive is not allowed here in /etc/nginx/nginx.conf:28
&lt;/pre&gt;&lt;p&gt;
Which equates to the AWstats entry which is now commented out per:
&lt;/p&gt;
&lt;pre class="wiki"&gt;# log for awstats
#log_format apache '$remote_addr - $remote_user [$time_local] "$request" '
#                   '$status $body_bytes_sent "$http_referer" '
#                   '"$http_user_agent"';
#access_log         /var/log/nginx/awstats.log apache;
&lt;/pre&gt;&lt;p&gt;
I/we need access to aegir more than AWStats, so I've commented out the lines above and restarted nginx. Aegir is back and working well.
&lt;/p&gt;
&lt;p&gt;
This ticket is to find the correct log_format for modern nginx versions and reinstate AWstats -- assigning to Chris as a low priority thing.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost:8080/trac/ticket/644#changelog</comments>
    </item><item>
        <link>http://localhost:8080/trac/ticket/582</link>
        <guid isPermaLink="false">http://localhost:8080/trac/ticket/582</guid>
        <title>#582: TN.org platform and sites</title>
        <pubDate>Mon, 02 Sep 2013 09:30:02 GMT</pubDate>
        
        <dc:creator>jim</dc:creator>

        <description>&lt;p&gt;
The TN.org platform and Drupal site updates are to be tracked in this ticket.
&lt;/p&gt;
&lt;p&gt;
Current PROD platform build = &lt;strong&gt;P009&lt;/strong&gt;
Current STG platform build = &lt;strong&gt;S010&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Updates pending:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;SECURITY UPDATE - NO RISK: Pressflow core 6.30 is due, but the security holes fixed do not affect us, low priority. Platforms: present in S010, but not in P009.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost:8080/trac/ticket/582#changelog</comments>
    </item><item>
        <link>http://localhost:8080/trac/ticket/606</link>
        <guid isPermaLink="false">http://localhost:8080/trac/ticket/606</guid>
        <title>#606: Site upgrade tasks -- pre-migration cleanup</title>
        <pubDate>Fri, 11 Oct 2013 12:00:13 GMT</pubDate>
        
        <dc:creator>jim</dc:creator>

        <description>&lt;p&gt;
This ticket is to track the issues left over from &lt;a class="assigned ticket" href="http://localhost:8080/trac/ticket/590" title="defect: Drupal performance improvements (assigned)"&gt;#590&lt;/a&gt; that need to be considered and tackled prior to migrating the site from D6 to D7 (or 8).
&lt;/p&gt;
&lt;p&gt;
Please feel free to add as needed, but sticky to the
&lt;/p&gt;
&lt;h2 id="CCleanup:Listoffeatureswedontreallyneed"&gt;C) Cleanup: List of features we don't really need&lt;/h2&gt;
&lt;p&gt;
Ed to add his items to following list... Need rational and alternative approaches for each.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;C.1) Remove 'Geographic region' and related taxonomy and Hierarchical Select modules&lt;/strong&gt; 1 hour, low reward, low risk -- never really been used and is effectively a duplicate of the location field. let's kill it!
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;C.2) Kill Microsites and the Forums&lt;/strong&gt; -- The handful of people using the CMS feature should be migrated to Open Atrium if they need such features.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;C.3) Remove forums&lt;/strong&gt; --  We could migrate the forum to a simpler setup (not using forum module) that leverages normal commenting, or even Disqus or other services to offload comments and moderation. Also encourage user-submitted ocontent and promote that if it's good or gets interesting debate.
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="DKeydevelopmenttasks"&gt;D) Key development tasks&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;D.1) All inline PHP must be moved to modules and features&lt;/strong&gt; -- This has great benefit for management, maintenance and developers. &lt;tt&gt;Eval()&lt;/tt&gt;uated code is much slower than PHP in files, especially since it can't be accelerated by APC or Zend Opcode cache... We have a few blocks and many views that are loaded from the database and evaluated. Ideally the blocks would be moved to the 'Transition Extras' module, and the views would be pushed into features. This work is good to do for maintainability and D7 upgrades, too. See: &lt;a class="ext-link" href="http://2bits.com/api/abuse-drupal-best-practices-your-own-peril-poor-performance.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://2bits.com/api/abuse-drupal-best-practices-your-own-peril-poor-performance.html&lt;/a&gt; and &lt;a class="ext-link" href="http://2bits.com/articles/free-your-content-php-moving-php-code-out-blocks-views-and-nodes.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://2bits.com/articles/free-your-content-php-moving-php-code-out-blocks-views-and-nodes.html&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;D.2) Build in ESI (Edge Side Includes) support from the outset, ensure Drupal renders only what it needs to &lt;/strong&gt; -- BOA packages the &lt;a class="ext-link" href="https://drupal.org/project/esi"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;ESI (Edge Side Includes integration) module&lt;/a&gt;, which makes NginX cache the whole page (as it does now), but also for user-logged in pages (which it does for 5 seconds since the page data changes). This means Drupal renders the ESI component (blocks, panels panes) that are have user-specific data in. Potential boost quickly, but will need time to tweak settings to get best from this across whole site. See &lt;a class="ext-link" href="https://tech.transitionnetwork.org/trac/ticket/590#comment:4"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;comments in 4 &amp;amp; 5 below for discussion&lt;/a&gt;&lt;del&gt;, should be done after proposal F, above&lt;/del&gt;.
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="EKeyeditorialtasks"&gt;E) Key editorial tasks&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;E.1) More Taxonomy cleanup&lt;/strong&gt; -- try to merge terms with the same names, clear out spammy terms, general spit-and-polish. Ed plus team of busy interns to do this when the time is right.
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Zoldstuffforreferencetasksfrom590renderedpointlessbymove"&gt;Z) old stuff for reference; tasks from &lt;a class="assigned ticket" href="http://localhost:8080/trac/ticket/590" title="defect: Drupal performance improvements (assigned)"&gt;#590&lt;/a&gt; rendered pointless by move&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Z.1) Find Variable table writes and kill them&lt;/strong&gt; -- seeing plenty of SELECT * FROM variable calls, which imply a cache clear due to a variable being set. In normal use variables shouldn't be set (admin screens tend to do this), so I'd like to try to see what module it causing this and patch/remove it. Will need to run &lt;tt&gt;grep -R "variable_set() * &amp;gt; ~/static/variable_set-calls.txt" in the {{{sites/all&lt;/tt&gt; directory to generate a list, then trawl though it to find candidates/bad modules practice.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost:8080/trac/ticket/606#changelog</comments>
    </item><item>
        <link>http://localhost:8080/trac/ticket/671</link>
        <guid isPermaLink="false">http://localhost:8080/trac/ticket/671</guid>
        <title>#671: Replace core Search module with Apache Solr</title>
        <pubDate>Sat, 11 Jan 2014 21:11:14 GMT</pubDate>
        
        <dc:creator>jim</dc:creator>

        <description>&lt;p&gt;
&lt;strong&gt;Issue &amp;amp; background&lt;/strong&gt;
During work on &lt;a class="closed ticket" href="http://localhost:8080/trac/ticket/610" title="defect: Aegir database intensive (migrate, clone, restore) tasks hang for larger ... (closed: fixed)"&gt;#610&lt;/a&gt;, it was discovered that of a 1/4GB database dump for TN.org, ~80% (180Mb) of it was related to the Drupal 6 core Search module.
&lt;/p&gt;
&lt;p&gt;
It's worth noting &lt;a class="ext-link" href="https://tech.transitionnetwork.org/trac/ticket/516#comment:3"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;this&lt;/a&gt; was &lt;a class="ext-link" href="https://tech.transitionnetwork.org/trac/ticket/516#comment:6"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;raised&lt;/a&gt; when we migrated the site to the Puffin server in March 2013, but it's generally the case that the core Search module does not scale easily beyond a few thousand nodes.
&lt;/p&gt;
&lt;p&gt;
www.transitionnetwork.org has 23,803 nodes at time of writing -- this is probably approaching the sensible limit of the core module's capability.
&lt;/p&gt;
&lt;p&gt;
Note also, any future D7 or D8 version of the site would also hugely benefit from using Solr, so the server config part is time well spent.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Proposed solution&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Add the Apache Solr option to BOA, re-run the installer to get it installed and configured automatically.
&lt;/li&gt;&lt;li&gt;Add the &lt;a class="ext-link" href="https://drupal.org/project/apachesolr"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;ApacheSolr module&lt;/a&gt; and any related required modules to the TN D6 makefile -- it's not clear if the 6.x-3.x branch or 6.x-1.x branch is the right choice at present.
&lt;/li&gt;&lt;li&gt;Build a new platform containing these modules, migrate a clone of STG to it.
&lt;/li&gt;&lt;li&gt;Enable the modules, configure them, disable core Search.
&lt;/li&gt;&lt;li&gt;Create a feature that wraps up config for Solr and required modules. Add to Git, add reference to feature to makefile
&lt;/li&gt;&lt;li&gt;Test, tweak, repeat 3 &amp;amp; 4 &amp;amp; 5 as needed.
&lt;/li&gt;&lt;li&gt;Migrate PROD to the new plaform, enabled feature, index site.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
This could be parked until D7/8 migration, or not... Ed's call.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost:8080/trac/ticket/671#changelog</comments>
    </item><item>
        <link>http://localhost:8080/trac/ticket/488</link>
        <guid isPermaLink="false">http://localhost:8080/trac/ticket/488</guid>
        <title>#488: Set up Dev/Test and update CodeManagementReleaseProcess for new Aegir, Git, Drush make approach</title>
        <pubDate>Mon, 04 Feb 2013 19:07:31 GMT</pubDate>
        
        <dc:creator>jim</dc:creator>

        <description>&lt;p&gt;
This page is now out of date... &lt;a class="ext-link" href="https://tech.transitionnetwork.org/trac/wiki/CodeManagementReleaseProcess"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://tech.transitionnetwork.org/trac/wiki/CodeManagementReleaseProcess&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This ticket is to update this with a new version, and set up Dev and Test environments, documenting all as we go.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost:8080/trac/ticket/488#changelog</comments>
    </item>
 </channel>
</rss>