Le réseau pour les développeurs > Forums - Accueil > SQL Azure — Getting Started > Announcing the launch of Omega.SDSClient, a browser based client for SDS
Poser une questionPoser une question
 

Discussion généraleAnnouncing the launch of Omega.SDSClient, a browser based client for SDS

  • mercredi 7 janvier 2009 18:40Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     A du code
     

    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

Toutes les réponses

  • mercredi 7 janvier 2009 19:07AnilredMSFTMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    Gaurav
    Thank you for the demo this morning.  Looks good.  This forum will be a great place to solicit feedback.

    Great thanks

    Anil
  • jeudi 8 janvier 2009 04:20Mike Amundsen Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    GM:

    very interesting application!


    Mike Amundsen [http://amundsen.com/blog/]
  • jeudi 8 janvier 2009 05:11Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • jeudi 8 janvier 2009 10:12Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • jeudi 8 janvier 2009 10:58Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • jeudi 8 janvier 2009 11:30Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • jeudi 8 janvier 2009 12:04Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
  • jeudi 8 janvier 2009 12:14Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • jeudi 8 janvier 2009 12:19Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    Jamie,

    Thanks for the blog. We are making use of REST.

    Gaurav
  • jeudi 8 janvier 2009 17:58AnilredMSFTMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    Jamie
    Thank you.  I got your HINT :).  I am goingt o push the team again on where we are on this....

    -Anil
  • vendredi 9 janvier 2009 05:07Kapil Muni Gupta Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • vendredi 9 janvier 2009 08:59Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • vendredi 9 janvier 2009 09:21Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • vendredi 9 janvier 2009 09:22Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • vendredi 9 janvier 2009 20:48Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • samedi 10 janvier 2009 09:01Kapil Muni Gupta Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    Jamie is right, i am only able to view 500 entity, but in while accessing through browser all the entity will be listed

    Kapil
  • lundi 12 janvier 2009 21:46Rick NegrinMSFT, ModérateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • mardi 13 janvier 2009 15:35Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • mardi 13 janvier 2009 15:54Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     A du code
    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
  • mardi 13 janvier 2009 17:11Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • mardi 13 janvier 2009 17:19Jamie ThomsonMVPMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • mardi 13 janvier 2009 17:41Mike Amundsen Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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/]
  • dimanche 18 janvier 2009 11:50Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
     


    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

     

  • vendredi 6 février 2009 06:48Reeta Lodhi Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • samedi 7 février 2009 12:15Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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
  • lundi 16 février 2009 10:47Gaurav Mantri Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    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