COTS Workshop Registration System - cots

Does anyone have any experience with any COTS systems for managing workshops and the associated registrations, courses, communications, etc.?
We have a home-built Perl system that is about 8 years old and is currently embedded as an iframe in a SharePoint portal site (externally facing). Needless to say, it isn't integrated into our site well, looks like crap, needs an overhaul, lacks features, etc. It would be nice to find either a product we can install or a service that provides those features.
Thanks!

You might also look into Moodle - it's a platform developed to supplement classroom teaching (or implement online learning courses) but should have all the major features you listed, and would support your needs reasonably well, as well as enhancing your event with an online component such as slide/presentation distribution only to registered users or users that took a particular class, etc)

Related

Is there a simple Bugzilla/Trac client for use by non software folks?

I'm aware this isn't exactly a programming question, but it directly impacts our developers and the code we're assigned to write. If there's another SO-like forum where this could be better posted, please let me know and I'll take the question down from here & post it there.
Our work environment is a couple of developers creating (20-30%) and maintaining (lion's share) legacy software for factory production floor and test workers to use to calibrate or test the equipment the company sells. We've implemented a very simple Google form based bug reporting page, but we're already running into problems of scale (approx 40:1 them:us and lots of old-old buggy software that we didn't write). The company has tried using Bugzilla before my arrival with little success, the factory folks were apparently intimidated by it and wouldn't use it. However, they seem to like the simple Google form and the wizard-like steps to file a bug or request a feature. We're currently manually cutting & pasting their bug/feature requests from the Google form spreadsheet into Trac, and manually tracking the bugs/feature requests on a white board with magnetic bug cards. We're only a few weeks into this system and it's already showing it fragility and lack of scalability.
Ideally we'd have a Windows >= XP web or desktop client that would provide:
Simplified bug reporting, a Wizard like approach seems to work well
Customizable for our software packages (like drop downs for each)
Bugzilla or Trac integration
Standard bug tracking features developers and management can use
I've found the winners of the "Make Bugzilla Pretty" contest, but coming from a pure software house where we just used straight Bugzilla out of the box, I'm unclear on how to configure and install these skins. Obviously I can figure this out but don't want to go down that path if it's not going to solve our basic problem which is non-technical people reporting bugs.
TaskCompiler, found on the Bugzilla wiki site seemed like a candidate because it talks to both Bugzilla & Trac, but their sales page is offline and the site hasn't been updated since 2012 and I'm unsure as to their viability.
I'm certain we're not the first production facility to run into problems like this, I'm looking for recommendations to help solve both our scalability as well as-ease-of-use problem.
Another thought that occurs to me is a GAS script to push our current Google forms based bug reports into Trac or Bugzilla.
Edit: The decision between Bugzilla/Trac seems to have been made for us. I'm exploring options for using Trac here if you want to follow along.

Windows Phone 7 Scoring provider

I am not too sure if this question is suited for this forum. If not, please let me know and I'll delete this.
I wanted to figure out the "easiest" way of keeping online score for a game or quiz on Windows Phone 7. Currently, I am not looking for things like Achievements etc. I know XBOX live provides a lot of stuff on these grounds, but it is not open for all.
I want to submit the score, and maintain the top 200 (may be less) odd scores. I am too lazy to write my own services and host it and go through the full maintenance cycle for that scoring system. Can someone point out some really good and easy to use + reliable services that I can use?
The product offered by Mogade has a lot of the features you have asked for:
Real time stats
Achievements
Logging
Javascript leaderboards & Facebook pages
Always free
No branding requirements
It's a very streamlined library where you only need to set up the bare essentials to get it working as all of the heavy lifting is managed for you automatically, allowing you to focus more time on the development of your game.
briansoli has written a fairly straightforward tutorial on how to get a leaderboard working with in a Windows Phone 7 game.
I hope you find this useful, let us know how you get on with it!
Microosft have just released a new toolkit called the Windows Azure Toolkit for Social Games. This should help you out with quite a bit.
Have a look at this Cloud Cover Show, Episode 52 - Tankster and the Windows Azure Toolkit for Social Games
The toolkit enables unique capabilities for social gaming prerequisites, such as storing user profiles, maintaining leader boards, in-app purchasing, and more. The toolkit also comes complete with reusable server side code and documentation, as well as Tankster, a new proof-of-concept game built with HTML5

Suggestions for technical approaches to Licensing a CRM4 (ISV) add-on

The team I'm working with have created a CRM4 add-on which encapsulates 'standard' CRM customisations (such as modifying existing entities, adding our own custom entities), reports, plug-ins, and our own web pages (in IFrames) and web services. All pretty typical stuff.
I'm writing all the requisite installation code to simplify / automate the install process so that our ISV add-on can downloaded and trialled by anyone, but have been asked to think of appropriate way restrict functionality - to encourage people to purchase a license.
I'm not that familiar with the concepts/best practices/pitfalls when it comes to the 'licensing' of .net apps (especially CRM4 add-ons) so am asking you if you have any suggestions. We're looking for something fairly simple, and should be reasonably 'crackable', since we believe that having to enter a license code is generally a PITA.
Does the CRM API have anything to offer the ISV developer? (I see that one is able to nterrogate the License entity, but I'm assuming that this is for the CRM license itself)
Are there any existing code samples / projects / frameworks that are appropriate to use or implement?
I'm tempted to create a Registry Key upon installation of the add-on which, if after a month the correct license key has not been entered, will restrict functionality. Is this the best way to do this? Have you seen any other add-ons do it differently / better?
In terms of restricting functionality, I'm thinking of throwing InvalidPluginExecutionExceptions. Surely there must be a more 'graceful' way to do this?
All thoughts and suggestions appreciated.
Regards,
Peter.
My thoughts:
Yes, you can query the License entity to get the number of licensed users, which is a common license type from what I've seen. Lots of 3rd party vendors charge by the number of licensed users, regardless of how many of those users actually use the customization. I try to stay away from these because the license costs are often prohibitive for enterprise deployments.
Not that I know of.
I like this option, and have seen at least one 3rd party tool use this method. They allow you to declare the license key in your .config file, and if their runtime doesn't find it there it checks a known registry key. The tool comes with an app that registers the license key in the registry for you. I'd be careful to test and make sure your custom code can read the registry in a least-privilege environment.
Definitely not graceful to throw exceptions, but it does prove your point. :) Other than that, just outright skipping your code is another possibility, although that could have data implications. If you must throw exceptions, I would suggest trying to run some javascript on form load of your entities that warns the user that their license is expired and a save will result in an error. Some more nefarious schemes could include Thread.Sleep, kinda like the old shareware nagscreens. :)
Another idea - can you set up an Enterprise IFD deployment so you can give customers remote access to your demo, including their own demo organization? This depends on your audience, but your customers may not have the luxury (time, dev environment) of downloading and installing your trial. They may just want to see it in action - once you qualify the sale maybe you offer free remote installation and not spend so much time on a flawless setup package? Again, depends on your audience and the volume of licenses you expect to sell. Technically, you could dynamically provision organizations using the SDK and make the online trial process completely automatic. Of course this is a big investment, but allows you to maintain absolute control over your demo/IP.
Hope that helps!

Content/Document/Project Management System - Which is right for my needs?

So I just started an internship with this nonprofit company and it's pretty cool. My first assignment was to find a type of program that would work well for the company and its users. I and some team members just finished summarizing down what I think is a good list for the needed functionality. Before I started working, I've never even heard of content/document/knowledge/project management systems. So I've done a bit of research on many other programs and I've narrowed it down to Joomla, activeCollab, Basecamp, sharepoint and a few more. Which program out there would fit my needs the best? It doesn't have to be from the list I just wrote, those are just the programs that popped up first when I started searching.
MUST-HAVE CAPABILITIES
Searchable
Keyword search
Advanced search: Ability to tag & search documents by different categories, for example, type of file (e.g. PDF, Word, etc.), service line (e.g., fundraising, strategy, etc.), type of document (e.g., deliverable, data set, etc.)
In-document search
Categorization
Simple navigation to browse all content
Simple to set up and modify the tree/hierarchy used to browse content
Workrooms
Provide each team a separate workroom to post their own documents
Easy to navigate from team workrooms to the Toolkits (best if team workrooms reside in the same system the toolkits reside)
Version Control
Ability to see which is the most recent file
Security
Password protected
Tiered security, i.e. certain permissions for certain users (to create workrooms, change navigation tree, change toolkits, view/post team files, etc.)
Multi-year support
Easy to “archive” old workrooms or files so the navigation doesn’t become cluttered over time
Share across workgroups
Ability for power users to access multiple team workrooms
Ability to send docs from one group to another—or to the toolkits (by simple tagging or simple “submit” feature)
Uploading
Ability to upload files to workrooms
Ability to submit a new file for consideration for a toolkit (not a file currently in any workroom)
OPTIONAL CAPABILITIES
Messaging
Opt-in notification of uploaded files or changes to existing files
Version Control
Ability to see who has the file checked out
External Access
Client access to certain documents
Within our website
Users gain access from our website
It looks like it resides on our website
Collaboration Tools
Team Calendar
Blog / Forum
Instant Chat
WebEx/Remote Presentation (for virtual team meeting)
Ratings
1-5 Star document rating (by user community)
Searching & Sorting documents by rating (best documents display first in search results)
Simultaneous Edit
Multiple people can edit the same document at same time
Workflow
Ability to tag a file to be reviewed by another user (ability to “escalate” a file for review by someone else)
Messaging alerts when a file has been flagged for a user
Most of the features that you mentioned above are available for free using Plone, which is an application that runs on top of Zope. I actually built and deployed an instance of Plone for a non-prof that had a lot of the features that mentioned above. They features might not have had the same names, but you get a lot of the same functionality.
Here's what my users really liked about Plone:
The ability to index the content of MS Office documents, so that people could search for documents based on content in addition to property and tags/keywords.
Usability. The default theme for Plone isn't the flashiest thing that you will ever see, but it's usability is excellent.
How easy it was the change the system and add new sites or functionality.
Here's what I liked about Plone:
Zero licensing costs. I was able to implement features that usually only come in very expensive systems for free. And I'm aware of these types of costs, because I administer FileNet systems for a living
It was very easy to install, upgrade, and administer. Please take that "pro" with a grain of salt if you're not a professional systems administrator :)
Overall, it was just very easy to work with.
And here are my cons:
If you need the web site to be accessible on the public internet, then your hosting costs may be higher-than-expected. It's definitely cheaper to set up a vanilla Joomla site than it is to set up a vanilla Plone site. Please note that you sound like you need a lot more than a vanilla content management system, so their may be no difference in hosting costs.
Plone is built on Zope, and Zope is an application server. It's easy to set up and use, but it works a little differently than a lot of other web and application servers. If you're used to administering a LAMP stack, then this will be different (but not necessarily bad).
One final con is true with all modern content management systems: don't give your users enough rope to hang themselves. When it take 2 minutes to a wiki and a blog to a web site, then users expect you to add new sites all of the time. Every new site adds a lot of administrative work to your plate, so try and get as much functionality as you can from each site that you add.
Hope that helps!
Tom Purl
Basecamp. Even if it doesn't have all the features you think you need, it does what it is supposed to (37Signals loves to rant about too many features, you aren't gonna need it (YAGNI), etc.)
Joomla is a pain. Activecollab is a poor clone of basecamp (unless it has changed drastically in the year or so that its been since I tried to use it to get out of paying for basecamp).

What is a "Cloud OS"?

The term is getting 'hotter' with Microsoft Azure and Windows 7.
What are the benefits + how does the status quo of desktop computing now change? Does the machine no longer need an OS installation (or a highly stripped down version of a typical OS)... what is needed to interact with the 'Cloud' ?
Update: Received my first RTFM on SO today.
To elaborate.. I'm interested in knowing how different is the 'new way' w.r.t. the services provided by a typical desktop OS today (read Win XP/Vista, linux flavors galore, etc.)... NOT the benefits of cloud computing.
Two buzzwords.
Basically its Microsoft's form of competition against Google's recent web-apps boom. So if you want to know what it's all about just open up google docs and gmail, and there you go :)
Now on a personal note, I'm glad Microsoft and Apple(Mobile Me) are trying to fight back against Google. We need the competition, so us the users can choose and get better apps.
Also I'm really not a fan of any corporation, so I'm not all that excited about Google killing off everyone else any more than Microsoft doing the same to others.
When Microsoft says Azure is a Cloud OS, what they mean is that it provides the same kind of services to developers targeting the "Cloud" abstractions that are akin to what a Desktop OS provides developers targeting desktop.
Amitabh Srivistava gave a great interview on Channel 9 explaining it. Basically, if you want to write a notepad application for a desktop user, you don't have to be concerned with writing code that interprets key strokes from the keyboard, or that sets up communications with a printer. This is due to the desktop os. Similarly, Azure lets a developer focus on their cloud app better by abstracting things like load balancing, authentication and authorization, failover, and a lot of concerns that one would normally have to address when developing for the Cloud.
Old school network diagrams always showed the internet as a cloud. Microsofts approach is still a client-server model, although a real 'cloud' os in theory would be a SOA architecture of loosely fit components interconnecting and working together without really being aware of eachother. Example: creating services for email, document authoring, file storage, etc- which could all be interconnected by different services that don't erally need to be aware of the final product.
So different way of thinking of it: the 'system' exists in the network- not one single location.
Gains: Transparency, redundancy (not only of each service, but for replacing parts if vendors drop out) and availability (as long as you are also connected to the network).
Losses: Vendor lock-ins, vendor's dropping out, interoperability nightmare, as far as I know- there are no real standards for this model.
Microsoft did not coin 'cloud' computing term. Please refer to the wikipedia entry for a more specific definition and etymology.
whats with the RTFM questions on SO lately? unless I'm missing some deeper meaning, your questions are obvious.
http://en.wikipedia.org/wiki/Cloud_computing
Cloud computing is Internet-based
("cloud") development and use of
computer technology ("computing"). The
cloud is a metaphor for the Internet
(based on how it is depicted in
computer network diagrams) and is an
abstraction for the complex
infrastructure it conceals.[1] It is a
style of computing in which IT-related
capabilities are provided “as a
service”,[2] allowing users to access
technology-enabled services from the
Internet ("in the cloud")[3] without
knowledge of, expertise with, or
control over the technology
infrastructure that supports them.[4]
According to a 2008 paper published by
IEEE Internet Computing "Cloud
Computing is a paradigm in which
information is permanently stored in
servers on the Internet and cached
temporarily on clients that include
desktops, entertainment centers, table
computers, notebooks, wall computers,
handhelds, sensors, monitors, etc."[5]
http://en.wikipedia.org/wiki/Azure_Services_Platform
Microsoft's Azure Services Platform is
a cloud platform (cloud computing
platform as a service) offering that
"provides a wide range of internet
services that can be consumed from
both on-premises environments or the
internet"[1]. It is signficant in that
it is Microsoft's first step into
cloud computing following the recent
launch of the Microsoft Online
Services offering.
...
The idea and push from Microsoft to
compete directly in the software as a
service model that Google's Google
Docs have offered is increasingly seen
by them and others as an important
next step in application development.
In this idea, a software doesn't have
to be installed and managed on the
user's computer. It also allows files
and folders to be accessed from the
web.
So far, it looks like the idea of having software & your data hosted at msft's data centre.
SOA seems to be related to what cloud is offering.
No need to have local software (office will run from internet, your docs will be saved there. so that, you can access it anywhere). I think, the target could be big companies - thereby giving them services (software + hardware (data storage + processing power)) on subscription basis.
An expert can shed light on how this can be useful?
Will people be willing to put everything in the cloud?
Cloud is Time Sharing. Us old timers remember those days. You either wrote your own apps and ran it on their (the Time Share/Cloud providers) systems or you use the software they supplied. Usually word processors and accounting apps.
Google Apps is cloud. And since you get HD space you can already serve up your own app running on their systems.
Time Share was all the rage in the 70's and 80. Cause maintaining a system of your own wasn't cheap. Back then the smallest system any company ran was a mid-range (like Honeywell, AS400, Dec, etc, etc). Fell out of favor as the PC became popular. I remember when Lotus 1-2-3 came out and everyone predicted it would destroy what was left of Time Sharing. And it (along with dBase and other aps) did.
It's funny how we re-invite everything.
PS: Forgot one thing about Time Sharing. Since the Net wasn't around, you had to schedule your time. SO your staff would go to the providers Data Center and work. It was like renting space and the systems. Time Share and Cloud operate differently, but the function is the same.
Well like many new terms, there can be more than one answer. Frequently it can be defined as a compute platform, where the developer doesn't have to worry about resource management, scalability or hardware failures, because the cloud infrastructure handles it. Here is a link to some information the company I work for has:
http://www.appistry.com/resource-library/index.html
There are some good white papers linked here that might be helpful to you.
-Brett
A cloud operating system primarily manages the operation of one or more virtual machines within a virtualized environment.
Microsoft Windows Azure and Google Chrome OS are among current examples of cloud operating systems.
Azure App Service is one of the common and most used services. While it is possible to immediately deploy apps, jobs etc., to the app service, a common factor that baffles decision makers is the wide spectrum of the tiers (options of plans) available in the marketspace. To know more details,visit:https://www.impigertech.com/blog/azure-app-service/

Resources