Announcing the launch of Omega.SDSClient, a browser based client for SDS
Today we launched Omega.SDSClient, a browser based client for SDS. It is the first beta version of the same. We have used Silverlight 2.0 & WCF to build this application. Currently this product does the following:
- Manage Authorities
- Manage Containers
- Manage Flexible Entities
We are planning to add some more features in the days to come.
Please take a look at the same by visiting our website http://omega.cerebrata.com?r=MSDN and let me know what you think about it.
Thanks
Gaurav Mantri
所有回覆
- Gaurav
Thank you for the demo this morning. Looks good. This forum will be a great place to solicit feedback.
Great thanks
Anil - GM:very interesting application!
Mike Amundsen [http://amundsen.com/blog/] - Thanks Mike. Appreciate your feedback. Is there anything you would like to see in this application (other than handling BLOB entities & Querying capability, which we are working on)?
Please let us know.
Thanks
Gaurav Mantri
http://omega.cerebrata.com - Gaurav Mantri said:
Today we launched Omega.SDSClient, a browser based client for SDS. It is the first beta version of the same. We have used Silverlight 2.0 & WCF to build this application. Currently this product does the following:
- Manage Authorities
- Manage Containers
- Manage Flexible Entities
We are planning to add some more features in the days to come.
Please take a look at the same by visiting our website http://omega.cerebrata.com?r=MSDN and let me know what you think about it.
Thanks
Gaurav Mantri
That is really really cool. I'm very impressed. And I love your tagline:
"When your data is hosted in the cloud, why do you need to download/install any software to access it?"
Not saying I necassarily agree with it but its a good tagline :)
One thing I would find handy is thus. I have loads of authorities that I have created in the name of testing. I can't delete them (yet - hint hint, Anil) so it would be nice if I could hide them and you remember which ones I've hidden (perhaps by storing that info in a cookie or something - or does Silverlight have a notion of local storage?).
Great work. This is my new SDS admin tool.
-Jamie
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson- 已編輯Jamie ThomsonMVP2009年1月8日 上午 11:22
- Jamie,
Thanks for your comments. This is very encouraging.
Regarding hiding authorities, I agree with your comment that we should have a capability to delete authorities.
In fact one of the feature we are planning to build is a search capability where you can search for authorities & containers by name and either only display the matching results or display them in say another tab. I think this would fit your need. Let me know what you think about that.
Not to divert from this topic, but we have built similar feature in our other product, Omega.MSSQL. There a user could specify a key word (say "employee") and specify where they want to search (e.g. tables, views, procedures etc.) for it and Omega.MSSQL displays the matching objects containing the key words. You can watch a demo of the same by visiting our website.
Thanks again for your positive comments.
Gaurav Mantri
http://omega.cerebrata.com - Gaurav Mantri said:
In fact one of the feature we are planning to build is a search capability where you can search for authorities & containers by name and either only display the matching results or display them in say another tab. I think this would fit your need. Let me know what you think about that.
You mean like a filter? Yes, that would be nice. I would like to type in a string and only (e.g.) authorities that contain that string in the [Id] be displayed. Same for containers and entities. The filtering need only be done on the client side of course - I'm not talking about firing off a SDS query on every keypress.
Supplemental to that (and kind of what I said above), if there were a way to "remember" those filters for my next session that would be cool!! I don't mind if you want to store my filter terms along with my username so that they're accessible from any browser. Lots of possibilities. Hey - you could even store the filter terms in your own SDS authority :)
-Jamie
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson - Blogged: http://blogs.conchango.com/jamiethomson/archive/2009/01/08/cerebreta-release-omega-sdsclient-built-in-silverlight.aspx
Does this use the REST head or the SOAP head?
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson - You are correct. We are thinking about building filter kind of capability.
However now that you have said it, we can also look into Silverlight 2 Isolated Storage to hide the authorities permanently. Obviously in that case it would be dependent on the browser (I may be wrong here as I need to research SL2 isolated storage).
Any kind of filtering capability has to be client side only. Let me think more about it and get back to you on this.
Could you send me an email? I can be reached at gmantri at cerebrata dot com.
Thanks
Gaurav Mantri - Jamie,
Thanks for the blog. We are making use of REST.
Gaurav - Jamie
Thank you. I got your HINT :). I am goingt o push the team again on where we are on this....
-Anil - very interesting and useful browser based client for SDS. lot of thanks To Gaurav.
Please keep posting whenever you have update on functionality wise like how to see all the entity currently we are able to view first 500 entities from any container.
Kapil - Kapil M G said:
very interesting and useful browser based client for SDS. lot of thanks To Gaurav.
Please keep posting whenever you have update on functionality wise like how to see all the entity currently we are able to view first 500 entities from any container.
Kapil
Kapil,
Thanks for the feedback. I will definitely keep everybody posted on the updates. I have one question though: What do you mean by the following statement "how to see all the entity currently we are able to view first 500 entities from any container." Could you please elaborate more on this?
Thanks
Gaurav Mantri - Anilred said:
Jamie
Thank you. I got your HINT :). I am goingt o push the team again on where we are on this....
-Anil
Thanks Anil :)
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson - Kapil M G said: we are able to view first 500 entities from any container.
Kapil
That's all you ever see:
SSDS: I'm gonna get 500 results and then I'll get 500 more...
(http://blogs.conchango.com/jamiethomson/archive/2008/06/27/ssds-i-m-gonna-get-500-results-and-then-i-ll-get-500-more.aspx)
-Jamie
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson - Thanks. I did not know that. Obviously this needs to be taken care of. One thing that is not clear to me is how SDS Service keeps track of pagination? To elaborate more if a client sends a query to request entities in a container, SDS sends back first 500 results back. Will the client need to tell SDS that now it is requesting next 500? Do we use the same query or pass some additional parameters?
Gaurav - Jamie is right, i am only able to view 500 entity, but in while accessing through browser all the entity will be listed
Kapil - Take a look at http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/67c0570d-acb6-4dff-9b9b-bc0ee37e9c27 for an explanation of how to do paging.
Rick Negrin
Lead Program Manager
Sql Data Services - Thanks Rick. Currently our focus is providing BLOB Entities support. Hopefully we should be out with it by the end of this week or early next week. After that providing Querying capability and then this.
Regarding querying capabilities, I am looking for recommendations for the kind of functionality desired. I am thinking out loud here but because of the fact that SDS allows you to store unstructured data, grid view to display query results is out or question (or is it??). What it means is that in the case of this tool, query becomes just another way of filtering. For example if I write a query, my intent would be to show all the entities which match a certain criteria (say Id > 1000). User can then browse through those entities.
Comments anyone?
Regards
Gaurav - Gaurav Mantri said:
Regarding querying capabilities, I am looking for recommendations for the kind of functionality desired. I am thinking out loud here but because of the fact that SDS allows you to store unstructured data, grid view to display query results is out or question (or is it??). What it means is that in the case of this tool, query becomes just another way of filtering. For example if I write a query, my intent would be to show all the entities which match a certain criteria (say Id > 1000). User can then browse through those entities.
Comments anyone?
I've had to go through the same deliberations whilst building SDS Shell (http://www.codeplex.com/sdssh). At the time of writing the decisions I've made are:
- When querying for entities we output a DataSet with one Or more DataTables.
- One DataTable per Entity Kind
- The DataTable contains a Column for each entity property that exists - for EVERY entity of that kind
What that means is that for the following entities:
<Book xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema"> <s:Id>MySampleBook</s:Id> <s:Version>13453</s:Version> <Title xsi:type="x:string">My Book</Title> <ISBN xsi:type="x:string">1-57880-066-36</ISBN> <Author xsi:type="x:string">Mr. Author</Author> <InPrint xsi:type="x:boolean">false</InPrint> <NumberOfCopiesSold xsi:type="x:decimal">250</NumberOfCopiesSold> </Book> <Book xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema"> <s:Id>MySampleBook2</s:Id> <s:Version>38735</s:Version> <Title xsi:type="x:string">Another Book</Title> <Author xsi:type="x:string">Mr Smith</Author> <Publisher xsi:type="x:string">Mr. Publisher</Publisher> <InPrint xsi:type="x:boolean">true</InPrint> </Book> we will output a DataTable called Book that looks like this
Id Version Title ISBN Author InPrint NumberOfCopiesSold Publisher MySampleBook 13453 My Book 1-57880-066-36 Mr. Author false 250 MySampleBook2 38735 Another Book Mr Smith true Mr. Publisher
I'm still not sure this is the right way to go but I'd love to know what people think about this approach.
thanks
Jamie
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson - Interesting. One question though ... here you are assuming that one entity "Kind" would have same Flexible entities. Correct? Under normal situations that would be the case but what if we don't. Just curious.
Thanks
Gaurav - Gaurav Mantri said:
Interesting. One question though ... here you are assuming that one entity "Kind" would have same Flexible entities. Correct? Under normal situations that would be the case but what if we don't. Just curious.
Thanks
Gaurav
That doesn't make a difference. We still output a DataTable for each kind, just so happens that each table is neat and tidy with every column in every row populated.
http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson - Gaurav:One possibilty would be to use an 'expander' visual approach to solving this problem.Render the results of the query by listing just the unique {Kind} object returned w/ a count:Customers (150)Products (2000)Employees (3)Clicking on each item presents a grid of rows of that Kind.This will mean processing the collection on hand to identify the unique elements (columns) in each Entity and rendering 'blanks' for entities that do not contain that element. A bit of work, but not too out of the question.Ultimately, the better approach would be to support a schema for each Kind. For example, using XSD would allow us to define not only the required and optional elements for a Kind, but also details on the data type and data validation for each element. This data could be used not only to render a grid, but also to prompt users when creating new Entities or editing existing one and even providing basic input validation along the way.
Mike Amundsen [http://amundsen.com/blog/] - Gaurav Mantri said:
Today we launched Omega.SDSClient, a browser based client for SDS. It is the first beta version of the same. We have used Silverlight 2.0 & WCF to build this application. Currently this product does the following:
- Manage Authorities
- Manage Containers
- Manage Flexible Entities
We are planning to add some more features in the days to come.
Please take a look at the same by visiting our website http://omega.cerebrata.com/?r=MSDN and let me know what you think about it.
Thanks
Gaurav Mantri
Today we released another version of Omega.SDSClient which now has support for BLOB entities. You can now create/update/view Blob entities. Details about how to use Omega.SDSClient for BLOB entities can be found in my blog at http://gauravmantri.blogspot.com/2009/01/omegasdsclient-now-supports-blob.html. In short there are 2 -3 things I would like to point out:1. There are separate icons to create Flexible & BLOB entities.
2. Just by looking at entities, you will be able to tell if the entity is a Blob entity or not. These are the three things which will tell you:
a. There will be a "Star" icon in the entity display header.
b. You will see an icon to download/view in the entity display footer.
c. For BLOB entities, kind will always be null (at least for now).
Even though SDS supports 100MB size limit, for now because of a number of reasons we have kept the size of documents that can be uploaded via Omega.SDSClient to be 10MB. In our internal testing what we found that it works really great for small file sizes (< 1MB) however the performance degrades over that. This is something we are going to address in the coming versions. Please let me know your experience with Omega.SDSClient in this regard.
Another thing I want to bring it to your attention is that we have kept the UI pretty rudimentary (no progress bar while uploading the BLOB content, for example). UI will be enhanced considerably in the next few versions.
Please take a look and let us know what you think. The URL is http://omega.cerebrata.com/default.aspx?r=MSDN02
Also we have started working on the next version. We have decided to abandon the current design & go for a tree view kind of design (thank you Jamie, Ashish & Vishal). Our thinking is that to have all the authorities & corresponding containers under tree view on the left side of the screen (similar to SQL Server Management Studio) and all entities belonging in a container on the right side of the screen (most probably in tabbed document format so that you can view multiple containers at the same time). Once we do this UI redesign, then we will start incorporating other suggestions like client side filtering, viewing all entities (i.e. bypassing the 500 entities limit) and some more which I will discuss at a later date.
I would like to express my gratitude towards everybody in this forum for their comments & suggestions. This has given a lot of encouragement to me and my team. I would appreciate if you could continue to do the same.
Thanks
Gaurav
- I need to know about how to write query in SDS? For example can we query containers and authorities, or we can query entities only? Can anyone provide some links about how queries can be written in SDS?? Thanks in advance.
Thanks,
Reeta
http://reeta-singh.blogspot.com/2009/01/omegasdsclient-new-release.html - Hello All,
Following is the copy of another thread on this forum (http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/daa2612f-b14e-4645-a2cc-39e53a650e7b). Thought I should include it here as well.
==================================================================
We just released a new version of Omega.SDSClient. In this new version we have focused mainly on improving the user interface. The new interface that we have opted for is familiar "Tree View" interface where your authorities and containers are displayed in a tree view format on the left hand side while the entities in a container are displayed on the right hand side as tabbed item. To view contents of a container, just click on that container.
Apart from that we have included some new functionality based on the feedback we have received from the community.
Since we can't delete the authorities just yet, we have included a feature where in you can hide the authorities you don't want to see. A reference of these hidden authorities is stored in Silverlight isolated storage on your computer so that the information is persisted across multiple sessions. You can unhide the authorities at any point of time. Similarly you can hide and unhide the containers as well.
Another feature we have included is bulk container delete. You can select one or more containers and the delete them.
We have included context menus to perform some authority & container operations. Since Silverlight does not allow to use Right Mouse button for context menus (I just can't think of any reason behind this), the access key for context menus is "SHIFT + LEFT MOUSE BUTTON". Not very intuitive, I know :). Let's just hope, things change in SL 3.0.
We have also included a user guide to help you navigate through the application (It's about time, I guess). You can download a PDF version of the same by visiting our website (http://omega.cerebrata.com/default.aspx?r=MSDN03) and then choosing Omega.SDSClient User Guide from the Quick Links on the left hand side or by clicking this link (http://omega.cerebrata.com/Docs/Omega.SDSClient.UserGuide.pdf).
Let me know what you think about the new interface. If there are any features that you would like to see which will help your job easier, please feel free to share. Here are some of the things that are in our pipeline (not necessarily in the order of priority):
1. Querying capability
2. Ability to display more that 500 entities in a container.
3. Some kind of debug window - This is an interesting thing. Currently we consume the raw data sent by SDS and display in a graphical format. What we also plan to do is provide this raw output as well somewhere in Omega.SDSClient (like JavaScript debugger in FireFox). I believe that would help the users debug the data.
4. Refresh capability - If you are working on multiple tools to create authorities & containers, then we want to provide a refresh capability so that you can get the latest content from SDS without logging out of this tool.
5. Alternate view for entities - probably display them in a data grid format to make efficient use of screen space.
That's it for now. URL is: http://omega.cerebrata.com/default.aspx?r=MSDN03. Give it a shot and let us know what you think.
=======================================================================
Thanks
Gaurav Mantri - Hello,
A new version of Omega.SDSClient is available:
What's new:
1. Querying capability – We have included a functionality where you can write and execute queries against a container. Currently we have taken an easy way out and are displaying query results as sent by SDS (in XML format). In next version we will try and display it in a datagrid format. To invoke querying capability, either use Container context menu or Query icon in the entity panel.
2. 500+ entities – We have included this functionality where you can progressively get 500+ entities. It’s not an automated process but rather a manual process i.e. after 500 entities are displayed, then you have to click on "Get More Entities" button to get the next batch.
3. Grid View for Entities – This is another view for displaying entities in a container. Under grid view, you can group the entities by “Entity Kind” and sort your entities as well. To group the entities by Entity Kind, just drag the "Entity Kind" header and place it over the text which reads “Drag a column header and drop it here to group by that column”. To ungroup it, just drag the "Entity Kind" column from the top and place it back on the data grid.
Do try it out and let us know what you think. As always feedback & feature requests are much appreciated.
Link is: http://omega.cerebrata.com/default.aspx?r=MSDN06
Thanks
Gaurav Mantri
Cerebrata Software

