Re: My departure + the future of Timeline and Exhibit
Duh, I knew I forgot something: = Testing To make exhibit more suitable for open source hacking, having tests would be of great help. Anyone with an idea on how to define those? If not, I could poke jresig or other mozillians for ideas. Axel 2008/3/11, Axel Hecht [EMAIL PROTECTED]: Hi David, congrats to getting a job, I hope you like it. No comment on those 6.5, my Ph.D took about the same time ;-). Thanks, Mozilla. Going forward, there are a few different issues that were raised in the discussion: = Developer man power - MIT - Open Sourcers I think relying on the MIT for coding shouldn't go much longer than David being there. I personally think that going the Open Source way will add more thrust to exhibit and timeline, and I might actually caugh up a patch, eventually. As for Frankenmonsters and bad code, there's a well established process to fix that, it's called peer review. David's not going to fall off the planet, thanks to his new employer, so there is no need or reason for arbitrary folks checking in arbitrary stuff without him looking at it first. http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree is how a big project like Mozilla handles this, I bet that we can figure something out that looks less scary. I expect that new reviewers grow out of the community that's contributing patches, and there's some level in here somewhere where getting commit priviledges is a good idea = Source hosting - MIT - google - SF I'd go for the level of service here, in particular in terms of bug tracking systems. SF.net is sadly enough dog-slow, ad-plastered, and low-featured. I haven't worked on google code myself, but google usually doesn't have performance problems, at least. I'm not sure if MIT would offer to continue to host the sources, or even grant non-MIT folks write access. = Web hosting - MIT - google I really think that SF.net is out of question here, their latency is just yucky. It'd be nice if the MIT could continue to host the projects, as that would ease our lives and we wouldn't have to get all our urls changed. I'm not really sure what the requirements are, though. Are exhibit and timeline the only projects that are affected? We've seen more messages about structural changes at simile, so maybe it'd be interesting to see if there's a hosting solution out there that's somewhat independent from MIT, but is supported by it in some way. Other players interested in innovation on the internet might be able to chime in, too. = Incorporated projects I haven't seen this being mentioned, but what's the relationship to the tooling libs, like SimileAjax and friends? Axel 2008/2/18, David Huynh [EMAIL PROTECTED]: Hi all, As you might know, I have recently finished my Ph.D. study, and within a few months I'll be moving on to a real job at Metaweb. The Metaweb folks have been kind to let me dedicate some time toward open source involvement, which means that I can continue to work on Timeline, Exhibit, etc. to some extent. However, it is clear that I won't be able to dedicate as much time to those projects as I can right now. So, it is crucial that we arrange for more people to get involved in those projects so that those projects continue to thrive. One possibility is to move the code bases onto an open source foundry, such as Google Code, and invite the more programming capable among yourself to maintain and improve them further. Note that this solution is even better than the current situation, as there will be more capable people involved than just me alone. Together we'll work out the knowledge transfer, etc. etc. over the next few months. Please don't hesitate to chime in here if you have other ideas or just want to speak your mind. The worst thing that can happen is that nobody expresses their concerns, no transition gets made, and the good code just withers away. Thanks, David ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: My departure + the future of Timeline and Exhibit
Hi David, congrats to getting a job, I hope you like it. No comment on those 6.5, my Ph.D took about the same time ;-). Thanks, Mozilla. Going forward, there are a few different issues that were raised in the discussion: = Developer man power - MIT - Open Sourcers I think relying on the MIT for coding shouldn't go much longer than David being there. I personally think that going the Open Source way will add more thrust to exhibit and timeline, and I might actually caugh up a patch, eventually. As for Frankenmonsters and bad code, there's a well established process to fix that, it's called peer review. David's not going to fall off the planet, thanks to his new employer, so there is no need or reason for arbitrary folks checking in arbitrary stuff without him looking at it first. http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree is how a big project like Mozilla handles this, I bet that we can figure something out that looks less scary. I expect that new reviewers grow out of the community that's contributing patches, and there's some level in here somewhere where getting commit priviledges is a good idea = Source hosting - MIT - google - SF I'd go for the level of service here, in particular in terms of bug tracking systems. SF.net is sadly enough dog-slow, ad-plastered, and low-featured. I haven't worked on google code myself, but google usually doesn't have performance problems, at least. I'm not sure if MIT would offer to continue to host the sources, or even grant non-MIT folks write access. = Web hosting - MIT - google I really think that SF.net is out of question here, their latency is just yucky. It'd be nice if the MIT could continue to host the projects, as that would ease our lives and we wouldn't have to get all our urls changed. I'm not really sure what the requirements are, though. Are exhibit and timeline the only projects that are affected? We've seen more messages about structural changes at simile, so maybe it'd be interesting to see if there's a hosting solution out there that's somewhat independent from MIT, but is supported by it in some way. Other players interested in innovation on the internet might be able to chime in, too. = Incorporated projects I haven't seen this being mentioned, but what's the relationship to the tooling libs, like SimileAjax and friends? Axel 2008/2/18, David Huynh [EMAIL PROTECTED]: Hi all, As you might know, I have recently finished my Ph.D. study, and within a few months I'll be moving on to a real job at Metaweb. The Metaweb folks have been kind to let me dedicate some time toward open source involvement, which means that I can continue to work on Timeline, Exhibit, etc. to some extent. However, it is clear that I won't be able to dedicate as much time to those projects as I can right now. So, it is crucial that we arrange for more people to get involved in those projects so that those projects continue to thrive. One possibility is to move the code bases onto an open source foundry, such as Google Code, and invite the more programming capable among yourself to maintain and improve them further. Note that this solution is even better than the current situation, as there will be more capable people involved than just me alone. Together we'll work out the knowledge transfer, etc. etc. over the next few months. Please don't hesitate to chime in here if you have other ideas or just want to speak your mind. The worst thing that can happen is that nobody expresses their concerns, no transition gets made, and the good code just withers away. Thanks, David ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: dynamically update plot
The text is actually the text content, the url is, AFAICT, merely for doing rdf-ish things with converting scalar id strings to urls, so 'foo' becomes something like http://my.domain.tld/where/my/plot/is/index.html#foo. I never passed anything for filter, just did loadText(content, document.location) Axel 2008/2/7, ChazZ S [EMAIL PROTECTED]: Does nobody know what the parameters for DefaultEventSource.loadText(text, separator, url, filter) mean, namely the first text parameter? I figure that the url parameter is the url you give for the data, but what is the text parameter? Is that the function one uses to dyanmically update a plot without having to create a new one every time? I have tried the DefaultEventSource.loadText() function and it does not seem to have an effect on the plot even if i do an update and/or a repaint, nothing changes. -ChazZ ever wonder if a word, when misused so many times, could lose all of its meaning? now thats ironic... - Original Message From: ChazZ S [EMAIL PROTECTED] To: General List general@simile.mit.edu Sent: Tuesday, February 5, 2008 3:55:36 PM Subject: dynamically update plot I am attempting to update a plot with live data using setInterval() JS function. Would it be best to do a plot.loadText() or an DefaultEventSource.loadText()? the JSDoc is not very good in that it does not describe what parameters are for. the DefaultEventSource.loadText() function takes a text file and a URL? what is that first text parameter for? When doing successive loads does the plot automatically re-evaluate the geometries and labeling? thanks for the help -ChazZ ever wonder if a word, when misused so many times, could lose all of its meaning? now thats ironic... Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. -Inline Attachment Follows- ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general Looking for last minute shopping deals? Find them fast with Yahoo! Search. ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Buildbot meets Exhibit
Yeah, you mentioned pivot tables earlier in the thread, but I haven't found a use for those yet. Which is odd, as I'm using everything else, right? ;-) Axel 2008/2/4, David Huynh [EMAIL PROTECTED]: Axel Hecht wrote: Hi David, yes, exactly, thanks for your help. I tried to find out what you did, and I think there were basically two changes, the selector in the facet, and, I guess more importantly, you moved the Tier items from { id: de, ... } over to { label: de, ... } with those items having no id properties at all anymore. Is that correct? If so, mind explaining why that fixed it? I fixed that because id is inferred from label automatically if id is not explicitly specified, but label is not inferred from id. And Exhibit complains when it finds no label. I'd hope that I would actually end up not needing your help with the next few ;-) FYI, I just put http://l10n.mozilla.org/buildbot/statistics live the other day, an exhibit for navigating timeplots :-) If only timeplots would allow faceted browsing. Cool! Perhaps you can use a lightbox or something to show the timeplots right on the exhibit page. By the way, I might have already mention this, but we have an experimental pivot table view--click on Languages vs. Membership here: http://people.csail.mit.edu/dfhuynh/projects/factbook/factbook-people.html and I was also playing around with Google Charts here http://people.csail.mit.edu/dfhuynh/projects/charts-in-exhibit/charts-in-exhibit.html Those might bring out more statistics. David ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Predicates or filters for exhibit collections
That worked, somewhat. The downside of this approach is that it still lists the full count of items that are in the original collection, so, in my case, I can't do a 32 of 47, as it reports some 32 of 59. To us, the we missed out on 15 is valuable information. I failed to create a filter function, I started, but basically died on the fact that the arguments of the functions are passed as values, and not expressions, so I can't apply an expression to my value set or something. I guess to get filtered collections, we really have to hack that into the collection logic. Axel 2008/2/1, David Huynh [EMAIL PROTECTED]: Hi Axel, The easiest way is to add some facets with predefined selections: div ex:role=collection ex:itemTypes=Build id=builds/div div style=display: none; div ex:role=facet ex:collectionID=builds ex:expression=.app ex:selection=browser ex:scroll=false/div div ex:role=facet ex:collectionID=builds ex:expression=.tree ex:selection=trunk ex:scroll=false/div /div David Axel Hecht wrote: Hi, I have another breed of my l10n builds exhibits, and I'm struggling with the following task: I have builds for two trees, and (possibly) two applications. I managed to filter the items based on type, and I even got a ex:expression sub-collection going. My items look somewhat like { items: [ { locale: bn-IN, app: browser, tree:incubator, result: success, label: bn-IN, type:Build, id: linux-langpack/incubator/browser/bn-IN }, { locale: it, app: browser, tree:trunk, result: success, label: it, type:Build, id: linux-langpack/trunk/browser/it } ] } and what I want, in semi-XPath speak is .[.app = 'browser'][.tree = 'trunk']. The treat is, I'm using the main json file for other exhibits, too, in which I actually want all builds, but this is for release tracking, and only a subset of that actually matter. I tried div ex:role=collection ex:itemTypes=Build id=builds/div div ex:role=collection ex:expression=.tree = 'trunk' ex:baseCollectionID=builds/div but that yielded only 'true' and 'false' to be in the collection, which maps to what I though the code would do. Any suggestions? Or is my way to go to just implement a function that does what I want? Axel ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: (non) merging of data entries in exhibit table view
As David tought me, the id of an entry is derived from it's label. So if you want the two to be distinct, I guess you should create distinct id fields, while the labels can be ambiguous. Axel 2008/2/8, Yee-Ting Li [EMAIL PROTECTED]: Hi, if i have separate data 'rows' with the same 'label' under exhibit, under the table view, all of those entries are presented under a single row with the differences between the entries being joined together with an 'and' for the other fields. is there a way to turn this off? ie have entries with the same label appear as completely separate rows under the table view? thanks, Yee. ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Generating JSON from SQL database
Pick a programming language with good support for JSON, first ;-). python and the simplejson package work for me, ymmv. If you want to make David happy, write out the json with indent=4. Other than that, I'd recommend doing the exhibit first, with hand crafted json on a few items. Some of the processing between your data model and your json is easier to grok when you know where you're going. The most obvious datatype in need for conversion are dates, btw, you should get them into the json as exhibit wants them. http://hg.mozilla.org/users/axel_mozilla.com/tooling/?file/27c6e6525814/mozilla/tools/buildbotcustom/buildbotcustom/status/l10ndb.py is stuff that somehow worked for me, but it's currently not in production. python/sqlalchemy code, btw, so not sure how much use it is for you. Axel 2008/2/6, Margaret Leibovic [EMAIL PROTECTED]: Hi, I want to make an Exhibit to display the data in my SQL database, and I'm wondering if anyone has any ideas about how I should go about dynamically generating the JSON for this. Thanks, Margaret ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Auto-updating Exhibit
I'm using exhibit.getDatabase().removeAllStatements();exhibit.getDatabase().loadDataLinks(function(){}); in my firebug console to refresh the data. Didn't get around to hook that up to a button yet. I haven't found a way to actually update the database, I guess you had to do some kind of mark-sweep approach for that. Randomly made up pseudo code: create a new database, loadDataLinks on that, with marksweep() as callback, in marksweep, go through all arcs in both databases and update one from the other. I doubt I'm going to ever hook up my reload step to a timer, as it really tears down the whole exhibit, and creates the content from scratch. It does keep the selection on the facets, and the selected view, but you see the processing bubble, and no content. that's pretty interruptive to be run on a timer, IMHO. If you get a real update running, I wanna have! :-) Axel 2008/2/6, Daniel Sundström [EMAIL PROTECTED]: Hi! I want to make an auto-updating Exhibit, more specifically - an Exhibit based on an auto-updating data-set. Since Exhibit loads all data on load (per default), what would be the best way to achieve this? Is it possible to just use some Prototype.PeriodicalExecuter-magic to add data to the already loaded JSON, or do I have to reload the whole data-structure? Have anyone done this? Is there any examples? Regards, Daniel Sundström ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Auto-updating Exhibit
Any ideas for this should likely be raised with the whatwg, see http://www.whatwg.org/specs/web-apps/current-work/#interactive-elements. Axel 2008/2/6, David Karger [EMAIL PROTECTED]: Imagine a data DOM model in firefox. An object kind of like the current exhibit db, but native to firefox, with an API that lets you modify the current page's data in real time. Just like modifications to the DOM, modifications to this data object would automatically trigger updates to the displayed page. Conceivable for firefox 4? Axel Hecht wrote: I'm using exhibit.getDatabase().removeAllStatements();exhibit.getDatabase().loadDataLinks(function(){}); in my firebug console to refresh the data. Didn't get around to hook that up to a button yet. I haven't found a way to actually update the database, I guess you had to do some kind of mark-sweep approach for that. Randomly made up pseudo code: create a new database, loadDataLinks on that, with marksweep() as callback, in marksweep, go through all arcs in both databases and update one from the other. I doubt I'm going to ever hook up my reload step to a timer, as it really tears down the whole exhibit, and creates the content from scratch. It does keep the selection on the facets, and the selected view, but you see the processing bubble, and no content. that's pretty interruptive to be run on a timer, IMHO. If you get a real update running, I wanna have! :-) Axel 2008/2/6, Daniel Sundström [EMAIL PROTECTED]: Hi! I want to make an auto-updating Exhibit, more specifically - an Exhibit based on an auto-updating data-set. Since Exhibit loads all data on load (per default), what would be the best way to achieve this? Is it possible to just use some Prototype.PeriodicalExecuter-magic to add data to the already loaded JSON, or do I have to reload the whole data-structure? Have anyone done this? Is there any examples? Regards, Daniel Sundström ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: open an exhibit with specific facets selected
You can link to foo.html#yourItemID, and it will open that item in a bubble. In facets, you can specify ex:selected=semi;colon;separated;values to select those values in that facet on load. Axel 2008/2/1, Jeff Spitzer [EMAIL PROTECTED]: Is there a way to make a link to a specific item in an exhibit? Is there a way to open an exhibit specific facets selected? Thanks, Jeffrey Spitzer ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: How to make Timeline not conflict with jQuery?
AFAICT, timeline includes SimileAjax, which itself has jQuery1.2.1 in it. Not precisely sure what you want, do you want jquery, or do you have your own non-jquery stuff using $? Or do you want a different version of jquery? Axel 2008/2/1, Todd Chapman [EMAIL PROTECTED]: For some reason Timeline messes up some jQuery modal stuff our designers built. I realize that jQuery has a noconflict mode, but our designers are used to using the jQuery $ shortcut. Is there a noconflict mode for Timeline? Has anyone run into this problem before? Thanks! -Todd ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: single item map functionality
Maybe adding a non-UI facet just implementing restrict(items) and hasRestrictions() and adding that to the collection (exhibit.getCollection('default')) might be easier? Looking at api/scripts/data/collection.js, that might just work. Axel 2008/1/30, Gavin Robinson [EMAIL PROTECTED]: I'm trying a slightly different approach to this. What I want to happen is when a user clicks a link in a single item lens, the view switches to map view with only that item displayed. So the first step is to filter down to that one item, then switch views. I've got as far as putting the item's id into the text search box when the link is clicked, but I don't know what functions to call next. Changing the value of the search input doesn't seem to trigger the event that starts the search. So what I need to know is: 1. The function to call to trigger a text search. 2. The function to call to switch to map view. I've been inspecting with Firebug but I can't work out what the first function to be triggered on the relevant event is (and in the case of text search I'm not even sure what the event is). Am I trying to do something that can't be done? Is there a better way to do it? You can see an example of what I've got so far at: http://www.4-lom.com/sandall/place-index2.html (This isn't the current live version and isn't linked back to from the rest of the site - the real one is place-index.html) The relevant bits of code are: Search facet: div id=searchbox ex:role=facet ex:facetClass=TextSearch ex:expressions=.label/div Link in item lens: javascript:{} Search for this Function in head: function filterItem(elmt) { var itemID = Exhibit.getAttribute(elmt, itemID); var x = document.getElementById('searchbox').getElementsByTagName(input); x[0].value = itemID; } David Huynh-2 wrote: You're on the right track. Try something like this: div ex:role=lens ... ex:onshow=initializeMap(this); ... div ex:id-subcontent=map-{{value}} ex:latlng-content=.latlng/div ... /div And include this Javascript code script function initializeMap(elmt) { var itemID = elmt.getAttribute(ex:itemID); var mapDiv = document.getElementById(map- + itemID); var latlng = mapDiv.getAttribute(latlng); ... initialize your map ... } /script There is a caveat. Right now there is no handler for disposing the maps created inside lenses. That means that when the lenses are disposed (simply removed from the DOM), the maps might be leaking memory. David Ivan Zhidov wrote: Yes, the map would be rendered in the lens template at first but I'm also looking to popup a map window but need a way to pass 'latLng' parameter from Exhibit data into a function call. What I also noticed is that when lens is rendered, its holding element is assigned ex:itemid=1 for Exhibit management. I don't have a lot of experience with JS/DHTML but would it make sense to assign unique DHMTL id to the values being rendered so you could easily retrieve their values from document.getElementById() ? Ivan From: David Huynh [EMAIL PROTECTED] Subject: Re: single item map functionality To: General List general@simile.mit.edu Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1; format=flowed Do you intend to render a map in a lens template? David Ivan Zhidov wrote: Its possible in Exhibit to switch to a Map view to see the item listed on Google Map. Is there a way to display a certain single item on the map? Can I control which item gets displayed via JS somehow? If this cannot be easily done out of the box please give me some direction to follow to implement this type of functionality. Ivan ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general -- View this message in context: http://www.nabble.com/single-item-map-functionality-tp14223516p15187857.html Sent from the SIMILE - General mailing list archive at Nabble.com. ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Buildbot meets Exhibit
Hi David, yes, exactly, thanks for your help. I tried to find out what you did, and I think there were basically two changes, the selector in the facet, and, I guess more importantly, you moved the Tier items from { id: de, ... } over to { label: de, ... } with those items having no id properties at all anymore. Is that correct? If so, mind explaining why that fixed it? I'd hope that I would actually end up not needing your help with the next few ;-) FYI, I just put http://l10n.mozilla.org/buildbot/statistics live the other day, an exhibit for navigating timeplots :-) If only timeplots would allow faceted browsing. Axel 2008/1/27, David Huynh [EMAIL PROTECTED]: Axel, I copied your code over and was able to get the Tiers facet filled in: http://people.csail.mit.edu/dfhuynh/misc/mozilla-l10n-dashboard/dashboard.html Let me know if this is what you want. David Axel Hecht wrote: 2008/1/23, David Huynh [EMAIL PROTECTED]: Axel Hecht wrote: 2008/1/16, David Huynh [EMAIL PROTECTED]: Hi Axel, That's pretty cool! I'm glad you Mozilla folks are finding our tools useful for internal processes. The content at that URL is indeed missing. For some reason I never got around to it. Regarding get stuff working deeper, could you elaborate? What do you want to happen? I'm not understanding the problem. I tried to do a one-stop sample. Basically, I have a bunch of builds, and they share properties. In my example, those are of type Localization. I drafted a graph, and I think that the html follows that graph well enough. Nice graph :) There are two problems with this: The facets report Localization items, which makes it a bit confusing. I.e., I will have localizations that don't have a tier, and the facet shows both Localization items and Build items linking to Localizations without a tier as missing this field. Oh, and the facets don't actually work, I think. I just took a look at your data file again, and I couldn't find any item of type Localization. They are all Builds. Have you changed the data lately? What you want to do is this: 1. put the Build items back into the data 2. re-define the default collection (what would be shown in the view) by including this div right after body div ex:role=collection ex:itemTypes=Build/div 3. re-define the Tier facet as follows div ex:role=facet ex:expression=.target.tier ex:facetLabel=Tier ex:fixedOrder=1;2/div I presume that the Build items point to the Localization items through the target property. The Localization items are actually just in the one-file test.html example that I attached in my previous mail, the live demo has a slightly different structure still. That one contains the data inline as plain js, so it's really just that one file. As I noted in my other reply, it seems that a root collection and facets exclude each other, the facets in my example started working again when I removed ex:collectionID=blds from the view div. But then all the different item types showed up intermingled. As a side note, I got the data link off your exhibit, but it's all on one line. So then I copied and pasted the JSON into the left text area of That's actually intentional to get the data size down. http://simile.mit.edu/repository/juggler/trunk/src/main/webapp/index.html and hit Run, and got a nicely formatted JSON output on the right. Juggler is a Javascript-based tool for transforming JSON. Regarding Mozilla's use of Exhibit, I wonder if there's any value in offering Exhibit's faceted browsing features on bookmarks in Firefox and on mail messages in Thunderbird. It seems very do-able. What do you think? With places, http://developer.mozilla.org/en/docs/Places, we moved to a pretty strict schema, it might work. Sounds like a nice playground for an extension developer. Do you think we can start a project inside labs.mozilla.org for that? Hooked that up in a different thread. Btw, supporting offline cache in fx3 might be interesting for exhibit performance. Sadly, I haven't found good docs on that yet. http://www.whatwg.org/specs/web-apps/current-work/multipage/section-offline.html has most right now, I hope that http://developer.mozilla.org/en/docs/Firefox_3_for_developers will have something soon. Yes! Indeed, David Karger has been bugging me about making a Firefox extension that boost Exhibit's performance by using Firefox's native data facilities. Actually I just overheard on irc today that offline resources are going to make it into fx3, so there should be some link foo or whatnot that you could just add that would make fx pin your js files to the cache. It shouldn't require an extension or anything. I think that should be https://bugzilla.mozilla.org/show_bug.cgi?id=402272, waiting for dev
Re: Buildbot meets Exhibit
2008/1/31, Stefano Mazzocchi [EMAIL PROTECTED]: Axel Hecht wrote: [snip] FYI, I just put http://l10n.mozilla.org/buildbot/statistics live the other day, an exhibit for navigating timeplots :-) That's very cool. If only timeplots would allow faceted browsing. I wonder if we could use timeplot-embedding lenses in exhibit... David, would that work? What I've meant was having facets next to a timeplot. Say, I'd have have a hillariously crowded plot, and then I could select one localization, and the error plot. Or, all tier-1 locales and the error and obsolete plots. And all of those would be added in a single canvas. I guess for that, you'd have to make the plots participate in an exhibit collection. Lenses on the other hand, I think, would be displayed as one canvas per selected graph. Might be good for some use cases, too. Axel ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Predicates or filters for exhibit collections
Hi, I have another breed of my l10n builds exhibits, and I'm struggling with the following task: I have builds for two trees, and (possibly) two applications. I managed to filter the items based on type, and I even got a ex:expression sub-collection going. My items look somewhat like { items: [ { locale: bn-IN, app: browser, tree:incubator, result: success, label: bn-IN, type:Build, id: linux-langpack/incubator/browser/bn-IN }, { locale: it, app: browser, tree:trunk, result: success, label: it, type:Build, id: linux-langpack/trunk/browser/it } ] } and what I want, in semi-XPath speak is .[.app = 'browser'][.tree = 'trunk']. The treat is, I'm using the main json file for other exhibits, too, in which I actually want all builds, but this is for release tracking, and only a subset of that actually matter. I tried div ex:role=collection ex:itemTypes=Build id=builds/div div ex:role=collection ex:expression=.tree = 'trunk' ex:baseCollectionID=builds/div but that yielded only 'true' and 'false' to be in the collection, which maps to what I though the code would do. Any suggestions? Or is my way to go to just implement a function that does what I want? Axel ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Buildbot meets Exhibit
2008/1/23, David Huynh [EMAIL PROTECTED]: Axel Hecht wrote: 2008/1/16, David Huynh [EMAIL PROTECTED]: Hi Axel, That's pretty cool! I'm glad you Mozilla folks are finding our tools useful for internal processes. The content at that URL is indeed missing. For some reason I never got around to it. Regarding get stuff working deeper, could you elaborate? What do you want to happen? I'm not understanding the problem. I tried to do a one-stop sample. Basically, I have a bunch of builds, and they share properties. In my example, those are of type Localization. I drafted a graph, and I think that the html follows that graph well enough. Nice graph :) There are two problems with this: The facets report Localization items, which makes it a bit confusing. I.e., I will have localizations that don't have a tier, and the facet shows both Localization items and Build items linking to Localizations without a tier as missing this field. Oh, and the facets don't actually work, I think. I just took a look at your data file again, and I couldn't find any item of type Localization. They are all Builds. Have you changed the data lately? What you want to do is this: 1. put the Build items back into the data 2. re-define the default collection (what would be shown in the view) by including this div right after body div ex:role=collection ex:itemTypes=Build/div 3. re-define the Tier facet as follows div ex:role=facet ex:expression=.target.tier ex:facetLabel=Tier ex:fixedOrder=1;2/div I presume that the Build items point to the Localization items through the target property. The Localization items are actually just in the one-file test.html example that I attached in my previous mail, the live demo has a slightly different structure still. That one contains the data inline as plain js, so it's really just that one file. As I noted in my other reply, it seems that a root collection and facets exclude each other, the facets in my example started working again when I removed ex:collectionID=blds from the view div. But then all the different item types showed up intermingled. As a side note, I got the data link off your exhibit, but it's all on one line. So then I copied and pasted the JSON into the left text area of That's actually intentional to get the data size down. http://simile.mit.edu/repository/juggler/trunk/src/main/webapp/index.html and hit Run, and got a nicely formatted JSON output on the right. Juggler is a Javascript-based tool for transforming JSON. Regarding Mozilla's use of Exhibit, I wonder if there's any value in offering Exhibit's faceted browsing features on bookmarks in Firefox and on mail messages in Thunderbird. It seems very do-able. What do you think? With places, http://developer.mozilla.org/en/docs/Places, we moved to a pretty strict schema, it might work. Sounds like a nice playground for an extension developer. Do you think we can start a project inside labs.mozilla.org for that? Hooked that up in a different thread. Btw, supporting offline cache in fx3 might be interesting for exhibit performance. Sadly, I haven't found good docs on that yet. http://www.whatwg.org/specs/web-apps/current-work/multipage/section-offline.html has most right now, I hope that http://developer.mozilla.org/en/docs/Firefox_3_for_developers will have something soon. Yes! Indeed, David Karger has been bugging me about making a Firefox extension that boost Exhibit's performance by using Firefox's native data facilities. Actually I just overheard on irc today that offline resources are going to make it into fx3, so there should be some link foo or whatnot that you could just add that would make fx pin your js files to the cache. It shouldn't require an extension or anything. I think that should be https://bugzilla.mozilla.org/show_bug.cgi?id=402272, waiting for dev-docs. Axel ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: timeplot continuous
I'm just hacking on a timeplot, basically I have data that I collect every now and then, and that stays that way until the next measurement. So I'd rather like to see P0 interpolations than P1s, talking of my previous FEM life. That might be a nice addition suitable for a good chunk of data. ASCII non-art below. Axel - -- instead of /\ /\ /\ 2008/1/23, Ryan Lee [EMAIL PROTECTED]: Charles Sharp wrote: is timeplot capable of displaying non-continuous data in such a fashion that it does not try to connect the data pockets endpoints with a line? thanx -ChazZ I think what you're asking is that Timeplot fill in a 0 for dates where you there is no data, as opposed to its current behavior? I had the same issue when I first started using Timeplot, but ended up filling in 0's on my own upstream. I do think it might be nice to add a mode to Timeplot that gives the expected units (per day) and works through adding 0's for missing dates on its own, but this is actually a bit more complex than it may at first appear as Timeplot's date handling is really offloaded to a lower level. I had thought of adding it, but it really was easier for me to modify my data source. So no, it isn't currently possible to configure Timeplot to do as you ask, but we're happy to take patch that will allow it :) -- Ryan Lee [EMAIL PROTECTED] MIT CSAIL Research Staff http://simile.mit.edu/ http://people.csail.mit.edu/ryanlee/ ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: problem with Getting Started Tutorial
So, that URL seems to do the right thing for me. At least when I look at it with view-source:http://simile.mit.edu/wiki/Exhibit/nobelists.js?action=raw in Firefox, it looks like reasonable exhibit input json. Without view-source, the mimetype wants me to save it, which I didn't want. If you strip of the action=raw, you just the an html-marked-up version of it. axel 2007/12/14, A. Lester Buck III [EMAIL PROTECTED]: I am new to Exhibit, so I tried the Getting Started Tutorial at http://simile.mit.edu/wiki/Exhibit/Getting_Started_Tutorial Alas, I didn't get very far. :-( When I tried to download this data file at http://simile.mit.edu/wiki/Exhibit/nobelists.js?action=raw I get the oddest errors. I tried shaving off the query string, and other things, but I wasn't getting the original JavaScript file as intended. Finally I found the archives of this mailing list and a search on nobelists turned up this URL: http://simile.mit.edu/exhibit/examples/nobelists/nobelists.js in this message http://www.mail-archive.com/general@simile.mit.edu/msg02326.html I'm pretty new here and it didn't seem a good idea to edit a wiki tutorial that I'm taking, and I don't know how that bad URL got in there. Maybe someone could verify that link to nobelists.js is wrong and fix it? Exhibit is a fantastic system, and I'm looking forward to using it a lot. Best regards, Lester ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general
Re: Exhibit href mailto support
a ex:href-subcontent=mailto:{{.mail}}; should do it. http://simile.mit.edu/wiki/Exhibit/Dynamic_URLs Axel 2007/12/14, Ivan Zhidov [EMAIL PROTECTED]: Is it possible in the current Exhibit to support a href=mailto:[EMAIL PROTECTED] where there's a 'mailto:' prefix in the code and the email address value comes from the JSON? Ivan ___ General mailing list General@simile.mit.edu http://simile.mit.edu/mailman/listinfo/general