Skip to main content

AgilEntity framework: Open Code Challenge #1

In an effort to showcase the self management capabilities of the AgilEntity framework these open code challenges will periodically be run to highlight how AgilEntity enables a new secure, collaborative development paradigm. Here’s how they work, below 5 user accounts have been created with workflow participation and view permissions established to several jsp templates of the AgilEntity platform, these templates contain the actual code that runs on the associated pages that the user accounts will be able to execute by navigating to them on the UI once logged in. The view permissions on each template enables the logged in user to make changes to the code and then submit those changes for update on the actual run time template file. The Action Oriented Workflow system takes care of the rest, enabling the changes to be routed to an agent (me) for evaluation of the solution provided in the code.

Here’s how the contest will work.

1) First, use one of the user accounts below to login to the development node on the AE cluster I’ve installed here: https://apriority.dyndns.biz/login.jsp?node=1&siteid=1

(you may get an ssl cert. warning, make an exception for it in your browser to proceed or get rid of the “s” in “https” and use the insecure link)

Username:

Scorpius

Aries

Aquarius

Libra

Password for all usernames: occoder09

2) View the available challenges (below); they come directly from the feedback page for the numeroom.com development site and are very easy. All the user accounts above will be given “view” permissions to all the necessary system templates to actually fix the problems posed.

3) After selecting a problem, view the associated suggested template(s) where the code changes are to be done and make your changes, since many of the changes are UI related that makes it easy.

4) You’ll have to test your changes in your own environment, simply eliminate any calls to AE API functions in your test environment and test away.

5) Integrate your changes into the templates making sure not to change any dynamic functionality, reasonably good separation between “view” code and “controller” code makes this easy. Use the javadoc for the Utilities class to find useful utilities in the AE API to minimize having to code new functions that already exist in the API, solutions that use the API methods will be judged over those that do not unless they are actually more efficient.

6) Write a Memo containing the following information:

· Name

· Email address

· Problem selected (indicate the problem title)

· Short summary of changes/additions.

7) Important! Make sure to press “save” in the template window to save your included change to the working object and then submit your change to the update workflow by pressing “update to workflow”. Each person is allowed one entry per challenge problem so if you have multiple solutions, pick the best one and submit it.

8) After the challenge period is over, the submitted entries will be evaluated and the winner selected per challenge.

Rules:

1) Since there are only 5 coder accounts, show some courtesy when using them. You should only login 2 times, 4 time at most. First, to view/get the code for the templates associated with the challenge(s) you are solving and then later to upload your solution and submit to the update workflow. As such authentications that last more than 30 minutes will attract administrative attention, if the same ip logs in excessively (more than 6) or stays logged in for too long the ip will be silently disqualified from the challenge even if you subsequently submit code, so be courteous of others wanting to use the accounts to get and submit challenge code. All the accounts have full auditing as shown in this video so big brother is watching you, play fair!

2) Payment method to winners will be via paypal exclusively, so if you don’t have a paypal account and you want to get paid, set one up now..you can still win but you won't get paid if you don't have an account.

3) It is possible for a user account to have a session extend beyond the challenge end date, the coder accounts will automatically deactivate at the end of this date, you must submit your code before the challenge end date even if you are logged in when the deadline passes.

Now, take a look at the feedback page:

[https://numeroom.uservoice.com/pages/24288-general?lang=en&utm_campaign=Widgets&utm_content=tab-widget&utm_medium=widget&utm_source=numeroom.uservoice.com]

The items included in this challenge will follow along with a little guidance on how to proceed with a solution:

Challenge problem 1:

Coloring the conference room

https://numeroom.uservoice.com/pages/24288-general/suggestions/394207-coloring-the-conference-room?ref=title

Templates to modify:

conf.jsp , econf.jsp

Templates to view:

Prize:

$25 to paypal account.

Suggestions:

For conference rooms currently the user must specify hexadecimal values for selecting their table and background color customizations. This is so 1999…update it to use a javascript color picker widget that enables selecting the color by eye that populates the respective form fields with the hex for update.

Challenge problem 2:

Export table files via zip archive

https://numeroom.uservoice.com/pages/24288-general/suggestions/396962-add-a-way-to-export-all-files-from-a-table-in-a-zip-file-to-prevent-individual-downloads-?ref=title

Templates to modify:

conf.jsp , econf.jsp, im.jsp

Templates to view:

table.jsp

Prize:

$50 to paypal account.

Suggestions:

Ideally a link (stating “make zip bundle”) should appear just below the table section (possibly in the square space just under the table column and adjacent to the message entry field) When clicked this link should compile the current table files into a zip archive that is then deposited into the room (if the table is full or not). The naming of the archive should be of the form “file_bundle.zip”. Methods exist in the Utilities class that already perform zip and unzip of files in a specified directory location, use the “fileZip” method to generate the required bundle file. Also, clicking the link should provide a download dialog to allow the generated bundle to be downloaded on click of the link.

Challenge problem 3:

Fix the smilies…

https://numeroom.uservoice.com/pages/24288-general/suggestions/268117-fix-the-smilies-?ref=title

Templates to modify:

conf.jsp , econf.jsp, im.jsp, iml.jsp, gim.jsp

Templates to view:

Prize:

$25 to paypal account.

Suggestions:

Modify the current smiley box to enable click and insert behavior . Currently the desired icon key sequence must be selected in an awkward manner…turn this into a box that automatically generates and inserts the key sequence for the smiley into the message box using some javascript eliminating the need to actually select the key sequence.

The Challenge will start when the user accounts above are automatically activated by the system on:

Monday , December 7 at 7 am EDT

, the challenge will end when the user accounts all deactivate, 7 days later on

Monday December 14 at 7 pm EDT

Comments

Popular posts from this blog

the attributes of web 3.0...

As the US economy continues to suffer the doldrums of stagnant investment in many industries, belt tightening budgets in many of the largest cities and continuous rounds of lay offs at some of the oldest of corporations, it is little comfort to those suffering through economic problems that what is happening now, has happened before. True, the severity of the downturn might have been different but the common factors of people and businesses being forced to do more with less is the theme of the times. Like environmental shocks to an ecosystem, stresses to the economic system lead to people hunkering down to last the storm, but it is instructive to realize that during the storm, all that idle time in the shelter affords people the ability to solve previous or existing problems. Likewise, economic downturns enable enterprising individuals and corporations the ability to make bold decisions with regard to marketing , sales or product focus that can lead to incredible gains as the economic ...

How many cofactors for inducing expression of every cell type?

Another revolution in iPSC technology announced: "Also known as iPS cells, these cells can become virtually any cell type in the human body -- just like embryonic stem cells. Then last year, Gladstone Senior Investigator Sheng Ding, PhD, announced that he had used a combination of small molecules and genetic factors to transform skin cells directly into neural stem cells. Today, Dr. Huang takes a new tack by using one genetic factor -- Sox2 -- to directly reprogram one cell type into another without reverting to the pluripotent state." -- So the method invented by Yamanaka is now refined to rely only 1 cofactor and b) directly generate the target cell type from the source cell type (skin to neuron) without the stem like intermediate stage.  It also mentions that oncogenic triggering was eliminated in their testing. Now comparative methods can be used to discover other types...the question is..is Sox2 critical for all types? It may be that skin to neuron relies on Sox2 ...

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform cert...