Archive for the ‘Developer Center’ Category
DekiScript Page Profiler

One of the exciting new features in the next major release (code-named Pipestone), is the DekiScript Page Profiler. I’m confident this new feature will delight many DekiScript developers.
In the past, it has been a hassle to figure what part of a complicated, dynamically rendered page requires the most attention. Often, the only method was to comment out sections one by one to determine the offending line or page inclusion. This is now a thing of the past. The page profiler provides a detailed view of every single DekiScript function called and every page included. It’s your backstage pass to see exactly what’s going on!
The profiler output is split into 4 summaries:
- Rendered Content lists all the pages that were rendered and what functions were invoked on each page. Function invocations are grouped together by location to show what each line is doing. Additionally, each function includes an invocation count and total elapsed time.
- Function Summary lists all functions invoked across all pages with their total elapsed time, total invocation count, average time, and max time.
- Page Summary lists all pages with their total rendering time, inclusion count, average time, and max time.
- Data Access Summary lists how many database queries were issued and the performance of the optional cache.
Obtaining the page profiler report requires directly accessing the API, a task that shouldn’t be a hurdleto DekiScript developers.
Here is how you get your page profiler XML document:
- Identify the page ID of the page you want to profile. The easiest is to look at the page source and look for the line that says:
Deki.PageId = 123; - The page meta-data for any page can be accessed by its ID:
http://mysite/@api/deki/pages/123 - Now append
/contents/explainand you’ll get the page profiler report:
http://mysite/@api/deki/pages/123/contents/explain
Depending on how many operations your page performs, the returned XML can become fairly large, but that’s because it contains lots of details. I would recommend looking at the function and page summaries first to get a sense for the potential culprits and use that information to track down the actual call that is causing the slowdown.
Finally, if your site your users report from sporadic slowdowns that you can’t reproduce, you can add this configuration key to have the profiler log its output when a page takes more than 3 seconds to render:
stats/slow-page-render-alert = 3.0
This will make it easier to capture those elusive moments where for some reason a page takes unusually long to render.
And remember when optimizing your pages: the fastest code is the one that never needs to run!
New Bug Tracker
Over the past week, BrianH has been busy with migrating the issues, bugs, and tasks from our existing Mantis bug tracker to the new YouTrack installation. All of the open tickets have been migrated and even their issue numbers have remained the same. In short, the migration was a success and BrianH will follow-up with a technical post on how he did it.
If you ever filed a bug or commented on one, you should have an account already created for you. However, you will need to reset your password. Just head over to the YouTrack login page and request the reset email.
Most of you suspect you’ve never heard of YouTrack and may wonder why we decided to switch to it. When I looked at all available options—and I looked at a lot of options—I realized what we needed the most was a tool that would make it super easy to cut through the data. YouTrack’s query language is amazingly powerful and is consistently available for searching, reporting, and creating release notes. It’s simply well thought out.
Aside from the query language, YouTrack has a convenient keyboard-friendly design that enables power users to navigate through search results quickly and update, annotate, tag, and comment all at the same time with minimal keystrokes. In short, it’s really efficient to work with.
Next, YouTrack also provides a voting feature. Yes, I said voting. Finally, you can participate in prioritizing what issues need the most urgent fixing. Please take advantage of this as it really helps us figuring out what you think is in need of immediate attention. To vote, you’ll just need to create an account. That’s it.
As with Mantis, YouTrack also has commenting and watching issues, but it works better by sending immediate emails when status changes happen or new comments are added. A big plus when we need to get more information and there is no other means to communicate with the reporter of the issue. In Mantis, we had to close quite a few bugs, because those who reported them never checked back in to read our questions. That was unfortunate.
Lastly, YouTrack has a very handy issue reporting bookmarklet (accessible from the issue submission form). You can drag it into your browser bar. When you need to file an issue for your installation or on developer.mindtouch.com, you click it and it immediately opens an overlay window, which allows you to file the issue without losing context. Both the bookmarklet and issue submission form also make it easy to attach a screenshot thanks to a bundled java applet.
My hope is that YouTrack will enable much better communication and management of submitted issues. We’ll be porting our Mantis DekiScript Templates next week, which should be the last piece in the migration.
Hope you enjoy our new bug tracker and keep filing away!
Important Announcement Regarding Wik.is Deployments
MindTouch has recently announced a timeline for the decommissioning of Wik.is deployments. In order to continue to support the growing needs of our MindTouch Express/Wik.is users, we are providing migration options – all of which ensure your data’s integrity.
MindTouch Cloud – Similar to Wik.is, a fully hosted collaboration solution, perfect for teams and workgroups. Available for 10, 25 or 50 user deployments. To begin the process of migrating your Wik.Is instance to MindTouch Cloud, please click here.
MindTouch Core v10 – Free and open source, MindTouch Core is the industry’s most popular community-supported collaboration project. Ideal for developers and technology enthusiasts. If you are already running MindTouch Core, you can easily migrate your Wik.is site data by following these simple instructions.
No longer using your Wik.is site, or have no plans to migrate? Let us know and we’ll remove your site immediately.
Be sure to check the MindTouch Developer Blog for more updates on this announcement.
MindTouch 10.0.2 Pre-Release Update
PeteE just updated the MindTouch Community Portal with the pre-release bits of MindTouch v10.0.2. This update includes fixes for 36 issues.
This is an incremental stabilization release for the Olympic family of products (MindTouch 2010, MindTouch Platform v10, MindTouch Core v10). Please be particularly alert to any changes in behavior and if you see something that not right, please take the time to file a bug. Assuming no surprises, we’re aiming to release this update by Friday.
MCP Update: Now with page ratings!
You may have noticed some changes to the MindTouch Community Portal wiki last night. We’ve upgraded the site to the experimental build to test MindTouch’s latest features coming in the Olympic release.
Please take a few moments to help us test out some of the new functionality by rating pages. Is there a page that you’ve always found helpful? Give it a thumbs up. Always wanted to point out a page that needs attention? Thumb it down and leave a comment.
By rating pages, you’ll not only help us test this feature and deliver the best experience for everyone, but you’ll help us improve the content of our site! Page rating will be the staple feature on MCP which will allow you, the community, to help us highlight the great content and improve the bad.
Other changes around authoring you might notice includes a new tagging interface and editor toolbar. Please test drive all these new features and be sure to let us know what you think! We’re really excited about using the Olympic release to improve MCP, and by virtue, your ability to learn about everything you can do with MindTouch.