It definitely looks a very interesting initiative Ken! Thanks for bringing it up. Having such a bird’s-eye-view of different comparable technologies is very essential. Comparing different programming languages are probably one of the first topics that comes mind.
Now the question is what else the community wants to learn about? Please cast your ideas and let everyone know what would be on your list. For example one can say: “I would like to know when we should develop our own ASP .NET web application and when we use out-of-the box PI WebParts? What are the pros and cons of each method?”
Thanks for the reply.
I would like to see a "vehicle" created (blog, document, etc) that captures an outline of this initiative so that everyone novice, intermediate can jump in on their own and figure out where to begin and self pace learn all the pros\cons that is disseminated by the talented Community.
whats the best platform for these "vehicle" example of what I am envisioning is the example shared with me when asking wheres a good place for someone new to PI and development to start. I was lead this way:
I can see 2 things that should address your needs, as far as giving a kick start to somebody:
- The "PI Programming 101" webinar , available under the vCampus Auditorium
- The "PI Application Development" course, an instructor-led training for which the materials are available under the vCampus Training Center.
hopefully the vehicle could be done in a way that a link would be part of the PI Programming 101 text to take the person directly there.
It would be nice to expand this out into Beginning, Intermediate, Advanced topics for all VCampus Supported Topics. The above suggestions would be good starting points to be followed up by ? (the community could somehow suggest what webinar or paper or what else would be next Item on the list.
I envision it being a Bachelor of Science in VCampus type outline if you will. Remembering our college days of course after course we finally got the illusive goat skin paper that hangs on the wall so nicely...
To be complimented with area of topics like
I would like to know when we should develop our own ASP .NET web application and when we use out-of-the box PI WebParts? What are the pros and cons of each method?
Any suggestions on best way to organize such a beast? So that its helpful to all and can grow in a clean useful way.
I appreciate everyones help and insight and Thanks in Advance
Thank you Ken. One basic classification I see here is dividing the questions and topics into two main categories:
- Tutorials and guidelines on developing against a PI System as a whole
- Best practices.
The first point would walk someone through the steps required to develop an application against a PI Server, AF Server, or alike. This would be fairly manageable to work on. The second point would address more advanced questions such as comparing competing technologies or methods, pros and cons, etc. This should reflect community’s questions on different topics. That’s why we need to promote the idea in the forums and blogs so that we know the concerns and questions better.
As you pointed out in your earlier post there are already some materials in the form of webinars and tutorials on the OSIsoft vCampus website. The resulting “vehicle” may point to these documents when necessary.
At this point I am watching the whole community’s reaction to this very closely to figure out our next best step. At the end of the day our goal is to help and improve the PI community as much as we can
@Kenneth Rice: I think you are raising a very important point... if you are wondering "where to start?", chances are that other people do as well... And as Ahmad pointed out, this could be divided into "Getting Started with PI System Development" and "PI Programming Best Practices".
First, I would really like to re-emphasize some of the key resources, some of which you listed earlier:
- The "PI Programming 101" webinar (see under the vCampus Auditorium)
- The first 3-4 chapters of the "PI Application Development" course material (see under the vCampus Training Center)
- The various White Papers and Tutorials under the vCampus Library
- The various webinars under the vCampus Auditorium
The webinar (#1) and the first 3-4 chapters of the training course (#2) are meant to cover the "Getting Started" part. The rest of the training materials (#2) along with the white papers/tutorials (#3) and the (#4) aim at covering more and more of the "Best Practices" part.
If you feel you are still missing something after going through that material (especially #1 and #2), then we should all work together to improve/augment this.
First, if the community feels like we should really have another, overarching "getting started" guide to point people to, then so be it! I can easily picture this being a big collaborative effort, where the rest of the community contributes to it:
- Help define the ideal Table of Contents
- Beginners share the struggles they have
- Advanced users share their knowledge on these topics and help the vCampus team fill in the document
As far as "best practices", I think it's mostly a collection of white papers, tutorials, blog posts, webinars, etc. Please never hesitate to post your ideas for webinars, white papers and tutorials on the forums - we do these for you guys, make sure you get what you want!
Looking forward to hearing from you all!
Thanks. I like where you are going with the following:
One basic classification I see here is dividing the questions and topics into two main categories:
- Tutorials and guidelines on developing against a PI System as a whole
- Best practices.
I was hoping to get more input from the community, both "newbies" and may be even our "All Stars". I hate to call people out (because that may be rude in some cultures) but with the up front disclaimer that I do not mean it rude, I would like Rhys to give some feedback, comments and etc. I found his forum he built long before I joined VCampus plus he just seems to know how to always be of help, to beginners, and advanced developers alike.
Does the community feel a need for this? or is everyone able to piece it all together without it being consolidated?
Thanks in advance
Kenneth RiceI don't know if a generic "best practices" guide can address all this... the programming/integration/data access world is so broad! It would probably make sense, however, to have some kind of "Best Practices for Developing Web Applications with PI" sort of document.
I would also like this project to tackle the thorny area of trying to answer the age old question of for project x I should use Silverlight or C#, I am not looking for us to pick one language/product over another rather if someone has already tackled similiar project to give the pros/cons of using product y.
Per my previous post, I think those in favor of such a document (or any other, for that matter) should voice their opinion and collaborate over it. Together we define the table of contents and what it should address. Together we help refine the content (people on this community have experience/expertise in areas where OSIsoft may not be an expert...).
As far as the choice of technology or language, however, I'm afraid this "age old" question will remain an "age old" question for quite some time... it's mostly a matter of preference. If you look at market share statistics on the web, you will find that all of Adobe Flash/Flex, Microsoft Silverlight and Sun Java have pretty significant market shares... Same for programming languages: Visual Basic .NET and C# offer almost identical feature sets and are pretty much 50/50 in the .NET world. Java is still a big player out there and there is a number of emerging languages, mostly in the "functional programming" world (there even is an annual conference just on 'emerging languages'!)
Giving pros and cons to products/languages/technologies is a tough game for OSIsoft... we are an infrastructure vendor and therefore we strive at supporting interoperability with as many of these technologies as possible. This is the goal of the PI Data Access suite of products. We "support", the community "selects" (and comments on)
Regarding your "should I use Silverlight or C#?" question, the answer is most likely both Simply put, Silverlight is a framework that integrates multimedia/graphics/interactivity, by combining graphics (XAML) and programming (your choice of VB.NET or C# or, theoretically, any language that supports .NET/CLI). I would suggest you look into this discussion thread, where Lonnie Bowling shared some of what he presented at the OSIsoft vCampus Live! 2010 event - really neat stuff! I also suggest you look into the "getting started" materials and the forums at http://www.silverlight.net.
Thanks. I agree with
As far as the choice of technology or language, however, I'm afraid this "age old" question will remain an "age old" question for quite some time... it's mostly a matter of preference.
What I was\am really looking for is more of a pros \ cons provided by folks that have already tried similiar projects. More of an opinion based forum / discussion, that people share their experiences and maybe a bit of dialog of why ? technology is their preference. Believe I know first hand ( we have both Apple and Microsoft and Google fans in our office) never a dole moment, so to expect the age old question of best platform\programming language to be settled, I will set my goal a little lower at world peace first, and then ...
I agree that the community needs to help steer this and\or vote that there are better projects to take up.
Did someone call for an All-Star (I feel a little bit like Batman does when his light is shining in the sky)
Hey Ken, don't worry I don't see it as being rude as I have been planning to reply since your first post but never found a few minutes to sit and think about it.
Problem I see at the moment is similar to what you experience, when the tools and SDK's are developed by OSIsoft there is a distinct lack of practial example uses, same goes for the training courses - they touch on the functionality of objects but don't give you a taster for how they can be practically used. Let's take AF as an example, in AF 1.3 you had the chocolate milk factory that let you see how it all works together (this was great) but the AFSDK help file was poor. Then in AF 2.x the programming reference help file is awesome but lacks any practical examples (no milk factory), even the examples in the document are too generic and just focus on the usage of objects. If their was a theme running through all the tools as a practical example, you could soon see the benefit of each tool and how best they fit.
Now the problem with providing practical examples is everyone will only be interested in examples that focus on their industry. To get those examples for an industry will be very hard to obtain because the usage of the tools/SDK's for people will likely be giving them a competitive advantage that they don't want to share - the same reason you see on vCampus that there are some people you can't shut up (I put myself in that bracket ) and people who only seek answers to their technical programming issues and not divulge what it is they are doing. OSIsoft does have a cool centre of excellence department that deal with industry specific issues, maybe they could be involved in the input to this?
I do think you can build a good decision tree document to identify the correct technology to be used for certain scenarios but it could never be definitive. For example, you wouldn't want to directly use PISDK in a SQL Linked Server scenario but instead use PI-OLEDB (which maps to PISDK calls).
There is something that as a community we can help to drive but I am still a little unsure what the final delivery would be. The community projects are the nearest we have at the moment but they lack documentation to describe the rationale, technology choice and need to pick up some pace.
Still thinking some more on this one...
Holy Batman!!! I mean Rhys wow I think you even responded quicker then Batman (which one though Adam West, Val Kilmer, or ...?)
Thanks for the input.
I really like the ideas already listed by you, Steve and Ahmad. There is helpful comments, questions, and suggestions in every post not only in the responses to this post but all the categories.
I would like to approach it like Ahmad suggested of the two main categories
- Tutorials and guidelines on developing against a PI System as a whole
- Best practices.
and since this is VCampus and all maybe we can create classrooms i.e.
1. Introductorion to VCampus, 2 Introduction to PI System ... up to and including AF 2.0 covering items that you have listed above provided by members, So VCampus would have to give us the community (or a site admin\developer) a way to create a classroom and a way to add items like a sylabus, links to existing training material and or ways to contribute to the material. For example Im hearing you ask for more code examples for AF and particular to an industry. It would be nice to have a way in the "classroom" to raise the question and then for members to post some examples, I understand your comment about people not wanting to post "trade" secrets, but I also believe there are plenty of people that will give enough to help, theres always folks from "trades" that dont have a need to "hold back" (i.e. my work isnt for profit but if you ever got rich off one of my ideas I would appreciate 10% of the annual profits, that would be enough for me thanks) or folks at OSI itself that will post code.
Is there a way to create "classrooms" in VCampus, while describing "classrooms" above I thought of WSS and Team Sites or Work Space Sites.
Rhys its a good thing that you "can't shut up" we live in the Age of Information is king so keep the knowledge spreading Thanks
Question to the community, will the above "classroom" idea help? to OSI can it be built?
At this point I think we need people to voice an up or down type reply (of course anything else anyone may want to add) Thanks to everyone
BTW Batman may I borrow the BatMobile this weekend I have a "Date" !!!!?
On a related note, let me say something about the "Learning Labs". As you may already know we offered Learning Labs in the OSIsoft vCampus Live! event. These labs were hosted on remote servers where you could follow a certain crash course on a topic around PI. The topics or crash courses were numerous (tens and tens of them are available).
There have been talks about making those available at all times on the vCampus website. That should come close to your "classroom" idea Ken
So I want to thank Wolfgang for the idea and Asle for the connection of:
What you describe is actually a "hot topic" these days already.
And this thread discusses the need to have a "So, you're new to vCampus" section, so that you easily can get answers for the most common questions here in the forums:
on this thread : http://vcampus.osisoft.com/forums/p/1464/7487.aspx
A wiki may be a perfect platform for a "So your new to VCampus, Now What?" Along with Ahmad's ideas of having categories i.e. Best Practices etc...
I have just a couple questions
1) to OSI can VCampus have a wiki integrated into it?
2) I have seen and read wikis (mostly wikipedia) but have not contributed to one or know how they work from that side of the coin. Who would own\moderate it? Can wiki posts be modifed by one person but then be roll back? would these functions be implemented by "roles" or by a community rules of behavior?
Thanks guys I knew this goup would be the genius pool to help find how to implement such a inititive.
Your all SuperHeros in my book (aka All Stars)
Good questions Kenneth
1) In our current platform we don't have such capability. However, it doesn't mean that it is impossible. Having said that I should add that at this stage we are more concerned about the viability of the need and the value it would bring to the community rather than the technology. Along the same line could you elaborate more specifically on what you would see more appropriate to a Wiki and not the existing venues on vCampus? A few examples would be excellent!
2) A Wiki in general is moderated by the community. Say we create a Wiki for OSIsoft vCampus today. All content creation, deletion, editing, etc. is assumed to be done by the community. One of our biggest concerns is if we are at a suitable point where we can solely rely on the community to moderate the Wiki on a self-sufficient basis. Would you be comfortable seeing outdated or even flat out wrong information on a Wiki page? Or you believe that the vCampus community can efficiently take care of that?
Thank you for your comments. I agree that at this stage we do still need to be
concerned about the viability of the need and the value it would bring to the community
Will this help the community? I believe yes, here is one example that ties to your question
see more appropriate to a Wiki and not the existing venues on vCampus?
Currently on VCampus if I want to find help on a subject I can search through the Library, Discussion Hall, the Blog's etc, key word be search through, with a wiki dedicated to for Example "Your New now what?" there can be One stop shopping at that Wiki Page that the community can structure an outline of all available must reads and link to there location VCampus weather they are in Discussions or Blogs or the library or even outside of VCampus. Im not saying that answers already dont exist on VCampus but its not really "One Stop Shopping" in its current form, closest I get is a search, but depending upon my keyword selection I may miss something valuable, I some times cant even find a post I know I read a week ago with relying on "search".
Does that illustrate an example for you?
AhmadThe wiki would only be as wrong as the community allowed it to be. I also live personally by the ideal that I can not believe everything I read that I need to cross examine things and use judgement, I believe everything on the internet to be subject to that scrutiny. So in short I believe if the whole community is scrutinising the wiki, including all-stars (Go Batman!) and the VCampus staff, I personally would be able to "trust" the wiki just as much as a discussion thread, library document, or a blog.
Would you be comfortable seeing outdated or even flat out wrong information on a Wiki page?
Thanks for the dialogue, its going well! Hope others jump in some more....
Thanks very much for the example and the discussion! I understand the problems with search. Do you think better tagging of the posts would help? Or even with the right tags in place we are having problems with search?
My only comment is where you say the team and All-Stars scrutinize the Wiki. By definition a Wiki page would get far less scrutiny from a dedicated team compared to, say, a forum. As a result the level of trustworthiness would significantly go down. Having seen a similar experience in some other venue, there would be some moderation needed at some point; there will be incomplete or ridiculously misleading pages that should be taken care of by "someone". We just want to make sure the value it offers would justify the extra resources required. Besides, maybe investing on a better search technology would serve us all better.
But anyways this is just my two cents Let the community speak out!