text:
Getting Started with MAF and Mobile Cloud
By Greg Stachnick-Oracle on Oct 28, 2015
Marcelo Jabali shows how easy it is for MAF applications to pull data from Mobile Cloud Service.
Marcelo Jabali shows how easy it is for MAF applications to pull data from Mobile Cloud Service.
Conference season is upon us and OEPE is participating in a number of Mobility related presentations at Oracle Open World and JavaOne 2015 next week. Between numerous sessions, hands on labs, and demos we will cover topics ranging from mobile app development, mobile development life cycle challenges, mobile backend development and more.
Here are some of the Mobile sessions that we recommend you attend if you are an Eclipse fan.
Building iOS Apps with Java 8 [CON1588]
Monday, Oct 26, 12:30 p.m. | Hilton—Continental Ballroom 4
Developing On-Device Mobile Apps with Oracle Mobile Application Framework [HOL10379]
Tuesday, Oct 27, 8:45 a.m. | Hotel Nikko—Nikko Ballroom III (3rd Floor)
Developing Mobile Applications with Mobile Cloud Service
Oct 27 10:30AM | Moscone South Demogrounds – Mobile Showcase Theater
Mobilize Oracle Enterprise Applications using Oracle Mobile Cloud Service [HOL10367]
Wednesday, Oct 28, 8:45 a.m. | Hotel Nikko—Mendocino I/II (2nd Floor)
Developing On-Device Mobile Apps with Oracle Mobile Application Framework [HOL10379]
Wednesday, Oct 28, 2:45 p.m. | Hotel Nikko—Nikko Ballroom III (3rd Floor)
Building iOS Apps with Java 8 [CON1588]
Thursday, Oct 29, 9:00 a.m. | Hilton—Continental Ballroom 1/2/3
DevOps for Mobile in the Cloud [CON8660]
Thursday, Oct 29, 12:00 p.m. | Moscone South—304
Integrating Calls in Oracle Mobile Cloud Service in Oracle Mobile Application Framework [CON8318]
Thursday, Oct 29, 2:30 p.m. | Moscone South—270
Also remember to swing by the Mobile Showcase in Moscone South Demogrounds and the JavaOne Mobile Demo booth to ask questions and see demos on Eclipse and mobile development.
For more details on session information, check out the Focus On: Oracle Mobile site.
See you next week!
By Preston Appel
The REST Service Editor's REST Client page allows users to experiment with existing REST APIs. The blog Introduction to the REST Service Editor, Part 1 provides an example of sending a simple GET request to a server and storing a description of the request and of the received payload. That example did not require any authentication. This blog expands on that case by describing how to set up HTTP authentication to explore REST APIs that require this type of authentication. A later blog will cover OAuth 2 authentication.
Let's look at this case of a resource that requires authentication. If we enter the address of this
resource and click the Send Request button, we receive back a response with status 401 Unauthorized.
Note that throughout this blog, I've obscured the address URI since it is not publically available.
At this point, the user will need to look up what authentication is required for the REST API they
are accessing. Once this information is known, authentication is set up by clicking the Set Authentication
Information button. The blue circle on the button indicates that no authentication information has
been entered yet.
Clicking the button pops up the Authentication Information wizard and we select HTTP (basic, digest, universal)
for our type of authentication.
Clicking the Next button, we can now enter the username and password.
Now, when we look at the Set Authentication Information button, we don't see the blue circle,
indicating that we have entered the authentication information. The tooltip shows the type of
authentication that was set.
One point of clarification: the fact that the blue circle has disappeared from the Set Authentication Information button does not indicate that the authentication information is valid, only that the required fields for the particular authentication type have been entered.
The REST Service Editor fully supports undo and redo, so it is easy to reverse what we've just done. We can also click the Set Authentication Information button again and select None for the authentication type (and then click the Finish button).
Now when we click the Send Request button, we see that our request was properly validated and we now
have a valid response.
Remember that the REST Client page is not part of the persistent state of the REST Service Editor, so the authentication information is not saved. This authentication mechanism is provided so that a user can explore a REST API that requires authentication (and then optionally store a description of the request and of the received payload.)
By Preston Appel
This blog covers how to specify query parameters using the REST Service Editor. As you will see, it is possible to set the scope of the query parameters to every request of a given URI or to just a single request. We will also review how to modify the output representation to only contain certain attributes. (This is also covered in the Modeling a POST Request and Redirection in the REST Service Editor blog.)
In previous blogs (Introduction
to the REST Service Editor, Part 1 and Modeling a POST Request
and Redirection in the REST Service Editor), we described a REST API that had been exposed by an
application. This is shown below on the REST API page of the REST Service Editor.
Based on the documentation of the existing REST API that we are describing, we know that we can pass the query "verbose=false" to our GET request for departments. In this case, the response's JSON payload will just contain a summary description of each department. Usually, when we send a GET request to "http://localhost:4545/deparments," it returns multiple departments, where each department has an id, name, optional manager and an array of employees. When the query "verbose=false" is added to that URI, the JSON payload in the response will just contain the id and name of the department. How might we model this?
Let's say that we want to model this by adding the query to the "departments" path. (In this case,
we don't actually want to do this, but we'll get to that in a moment.) First, remember that the
"departments" path is a child of the root path "http://localhost:4545." Since the paths will be
combined into the address "http://localhost:4545/departments," we are just altering the address
to include a query. We could just type the query at the end of the "departments" path, but to
ensure we have the correct syntax (and to encode any illegal characters), we will use the Compose
Address button to do this work.
Upon clicking the Compose Address button, we'll add the query "verbose=false" to the departments path.
We have now altered the "departments" path to contain the query.
Now, if we had a case where the query should apply to all the requests under the path,
then we could model it this way. However, we don't want the query "verbose=false" to
apply to our "createDepartment" request. To see that it applies to all requests—even
those we don't want affected—select "(POST) createDepartment" and look at the
status line at the bottom of OEPE. The status line indicates the address that will be
used for the request.
Let's back out this change. We can either type control-Z, or click Edit/Undo Set 'Value.'
At this point, we'll create a new request "getDeptSummaries" on which we'll set a query
parameter. To do so, we'll right-click on the Requests folder under the "departments"
path and select New/Request.
Enter "getDeptSummaries" in the Name field of the request (leave the Method as GET).
We also enter the HTTP Header "Accept=application/json" but I haven't shown this step.
See Modeling a POST Request and Redirection in the REST Service
Editor, if you need help with this. It's very similar to how we'll add a query parameter.
To add "verbose=false," click the Add button on the Query Parameter tab of the Request.
Enter the name and value in the Add Query Parameter dialog.
We've now set up the query parameter for the request.
At this point, we can easily see what address will be used for each request.
With "(GET) getDeptSummaries" selected in the Outline on the REST API page,
the status line is "Address: http://localhost:4545/departments?verbose=false."
With "(GET) getDepartments" selected in the Outline, the status line is simply
"Address: http://localhost:4545/departments."
Now, it just remains to set up the output.
For our "getDeptSummaries" request, we want to model that the response will only
contain a summary of the information from the departments. To set this up, we
click on the Request's Output tab and select Representation for the Type field.
This is so we can specify the Output that will be returned in the response.
Click the Add button to set up the Representation. In this case, we will be returning
Department objects, so we select this for the Data Type. Since there will be more
than one department, we check the Multiple box. Finally, since our documentation tells
us that the query parameter "verbose=false" will result in returning just a summary of
the department information—specifically, the id and name attributes for each
department—we uncheck All attributes and select the id and name attributes.
We now have described our "getDeptSummaries" request with some precision.
With this model we can now, for example, generate Java 8 code, which will allow us to programmatically send our "getDeptSummaries" request. The generated code will know how to return just the department summaries due to how we modeled the output representation.
Oracle Enterprise Pack for Eclipse OTN Page
By Preston Appel
In the blog Introduction to the REST Service Editor, Part 1, we sent a simple GET request to a server and then stored a description of that request and of the JSON payload we received back as a response. This blog is a continuation of that work, but we will be focusing on the REST API page of the editor as we model a POST request to create a department. This POST request involves redirection in that upon sending the request, we receive back a location that is the URI of the newly created department. We'll also see how to test the POST request that we've modeled by using the Copy to REST Client functionality.
To better understand the POST Request, below is a reminder of the description of the request and data
types from the
Introduction to the REST Service Editor, Part 1 blog. First, the REST Client page shows our
"getDepartment" request. It has an HTTP Header: "Accept=application/json" (not pictured), and its
Output Representation is a Departments data type.
The Data Types page shows the top-level Departments data type that we created, which contains multiple
instances of the Department data type.
We'll create a new request on the REST Client page and use the Department data type in our Output Redirection Representation.
This blog assumes that we have documentation on the existing REST API that we are describing in the REST Service Editor. Based on that documentation, we will be modeling a POST request to create a new department on the server.
If we were using the REST Client page to send a POST request to the application exposing the REST API,
we would use the address "http://localhost:4545/departments." On the REST API page, that address
has already been set up with a tree of paths. The root path "http://localhost:4545" has a child
path "departments" with a Requests folder. That is where the existing "getDepartments" request
was imported. By right-clicking on that Requests folder we can create our new request.
We now set the Method field to POST and type "createDepartment" in the Name field.
Based on the documentation of the existing REST API, we know that to create a department on the server,
the POST request must have content that is expressed as a JSON payload. We can meet the JSON
requirement by adding an HTTP Header "Content-Type=application/json" to the modeled request. To do so
we click the Add button and enter the data.
We now need to model the input of our POST request. After clicking the Input tab of the Request,
we select Representation for the Type because we want to send a Department data type for our POST request.
We select the Add button and select Department in the Add Representation dialog. By default "All attributes"
is checked.
But based on the API's documentation, we cannot send the "id" attribute to the server when creating
a new department. Moreover, that documentation for this functionality tells us that we only need to
send the "name" attribute to create a new department. So in the dialog we will uncheck "All attributes"
and check the "name" attribute.
We have now partially described our "createDepartment" request.
We still have to do some work to describe the redirection, but for now, we will test what we have.
With "(POST) createDepartment" selected in the Outline of the REST API page, click the Copy to REST
Client button for the request.
This takes us to the REST Client page where we can see that the Method, Address and Headers contain
what we have modeled. If, however, we click on the Input tab in the Request Details section, we don't
see the Representation we set up. In fact, we only see the option to select a Body type.
For the current version of the REST Service Editor, the REST Client page only supports an Input of Body.
To test our request then, we'll have to do a little more work. Select the Body type and enter
{"name":"demo department"} for the value of the body.
Click the Send Request button. The Response section of the REST Client page shows a status of
201 Created, and the Headers section has a Location set to "http://localhost:4545/departments/dep5."
This redirection URI allows us to send a GET request for the newly created department.
We can either click the arrow button to set the address to the response redirected location or
control-click the arrow to send a GET request to the redirected location immediately.
Here are the results for control-clicking the arrow.
We now return to the REST API page to complete our modeling. With "(POST) createDepartment"
selected in the Outline of the REST API page, click on the Output for the Request. Here we
select Redirection to describe the behavior that we just demonstrated on the REST Client page.
Add "Accept=application/json" to the Headers.
Add Department to the Representation. Leave "All attributes" checked.
After saving, here's the model we've created of the "createDepartments" POST request.
We now have a model that can, for example, be used to generate Java 8 code. This code will allow us to programmatically send a POST request to create a department and also to process the redirection by sending a GET request to retrieve that new department.
Oracle Enterprise Pack for Eclipse OTN Page
Its beginning to look a lot like EclipseCon, everywhere you go.
EclipseCon 2015 is back in the Bay Area and, once again, Oracle is a Gold Sponsor.
If you are attending EclipseCon this year, come by the Oracle Booth #18 and say "Hi!". Throughout the week, you will have the opportunity to see demos and chat with team members from Mobile Application Framework, Java, OEPE, Oracle Cloud, and Hudson.
Don't forget to checkout our sessions this week as well
| March 10 2015 @ 3:00-3:35PM
| iOS Development with Eclipse and Java - Yes it is possible!
| Shay Shmeltzer
| Sandpebble AB
| March 11 2015 @ 7:30-8:30PM
| Eclipse and Cloud Hosted Development Platform
| Greg Stachnick
| Sandpebble AB
| March 12 2015 @ 9:00-10:00AM
| Keynote: Java 9 and Beyond
| Mark Reinhold
| Grand Peninsula DEFG
By Cameron Bateman
This article is intended for senior development or release engineers who want to put their MAF development effort into a standard "continuous integration build cycle. This article will focus on using Git and Hudson to achieve this, although the basic concepts are applicable to other systems.
The OEPE MAF build system is based on Ant. We will provide all of the ant script fragments you need to accomplish the goals of this article, but for debugging purpose it will useful if you already understand know the basics.
This article also makes use of OEPE (Eclipse), Hudson, Git and a system shell prompt. Having a basic understanding of how to install and use these systems is required and not all steps will be given in these areas because instructions can be found elsewhere.
To start, download and install the following:
Apache Ant – make sure this is on your path.
Git (http://git-scm.com/downloads) – you will only need the command line client; we will use the GUI client that comes with OEPE.
Hudson (http://hudson-ci.org/) – for this article it is sufficient to download the hudson.war and use it in standalone mode.
Android SDK (http://developer.android.com/sdk/index.html) – scroll to the bottom to "Other Download Options" and you just download the basic SDK without an IDE. Follow Android instruction as to how to update the SDK and create and AVD you wish to deploy to the Android emulator; having an Android device is recommended but not required because your application will generally deploy faster.
Oracle Enterprise Pack for Eclipse
Before creating a MAF application, it will be helpful to define an SDK configuration in OEPE. An SDK configuration is used to tell OEPE what version of a mobile SDK you want to use and where all its platform-specific tools reside.
To create a new SDK configuration got to Preferences (from the the Eclipse menu on Mac, from the Windows menu on other platforms) type "Android"
Click Add... to open the new SDK dialog. Use the file selector (...) to navigate to the directory with your sdk in it. This is the directory that contains (among others things) the "platforms" and "platform-tools" folders.
Click OK. The preference page should now populate with information about the SDK. Click OK on the dialog to save the changes.
For this article, we will use the sample application HelloWorld. To create a new instance of the application, select File->New->Examples...
In the wizard, select the MAF Examples wizard.
Click "Next >". In the selection page, pick "Hello World" and leave the runtime version as the default (MAF 2.1).
Click "Next >". A default deployment target should be created based on the SDK configuration you created above. Hit Finish.
The application will now be created as three Eclipse projects. You may be prompted to switch perspectives. Answer "Yes". At the end of the creation process your OEPE workbench should look like something like this:
We now have a pre-created, working application in our workspace. We can test it out by deploying it to an Android device or emulator. Before proceeding, ensure that your emulator is running or that your device is correctly connected to your PC by USB. Refer to Android SDK documentation for more details.
Now lets test the application from OEPE to make sure it works.
Once you have your Android device or emulator running, you can proceed to deploy your application by clicking on the "Debug" toolbar dropdown.
Select the "Debug Configurations..." item to open the launch dialog. Find the "MAF Application" item in the configuration list and double-click it (or click the "New launch configuration" menu item near the top-left) to create a new configuration.
Click on "Debug" at the bottom right of the dialog. After the initial launch sequence dialog completes, your console should open with the output from the build's progress. Depending on your system and the speed of your device, this may take a few minutes.
When it finishes you should see the application launched in your device/emulator.
To make your project ready for command-line building, you will need to modify the build scripts a little bit. The target generates some defaults that we need to update.
First, you need to change the workspace filtering in the explorer so that you can see the files.
The targets are created in directories with names starting with a ".", which makes them hidden by default. To disable the filtering, click on the Project Explorer preferences menu.
Uncheck the checkbox for ".* resource" and click OK.
You should now be able to see the folder in your "HelloWorld" project. It will be called something like ".main.android". Expand this folder and the "profile" folder below it. Each sub-folder of the profile folder acts as a named configuration for the MAF build. For non-ide builds, the application wizard creates a template profile called "headless". To create your own profile, copy and paste this folder under profile to a new one called "releng" (the name is arbitrary but we will use releng here).
Now we need to modify the copy of "configure-fars-override.xml" under the new releng directory so that the build will know where the application artifacts are when running outside Eclipse.
Open "releng/configure-fars-override.xml" and find the target named "configure-override-projects".
The top of the target will look something like this:
<target name="configure-override-projects"> <property name="oepe.adfmf.assembly.project.dir.0" value="/Users/cbateman/cbateman-mac-1/oepe-product-test/workspaces/product.oepe-maf-21_ws2/HelloWorld" /> <property name="oepe.adfmf.assembly.project.dir.1" value="/Users/cbateman/cbateman-mac-1/oepe-product-test/workspaces/product.oepe-maf-21_ws2/HelloWorldApplication" /> <property name="oepe.adfmf.assembly.project.dir.2" value="/Users/cbateman/cbateman-mac-1/oepe-product-test/workspaces/product.oepe-maf-21_ws2/HelloWorldView" />
We need to update those three properties to make them independent of the Eclipse workspace. First, we add two lines of ant script that allow us to pass in the absolute path of the application in from the command-line.
<property environment="env" /> <fail unless="env.WORKSPACE" message="env.WORKSPACE must point to the workspace" />
Then update the paths in the original properties.
<property name="oepe.adfmf.assembly.project.dir.0" value="${env.WORKSPACE}/HelloWorld" /> <property name="oepe.adfmf.assembly.project.dir.1" value="${env.WORKSPACE}/HelloWorldApplication" /> <property name="oepe.adfmf.assembly.project.dir.2" value="${env.WORKSPACE}/HelloWorldView" />The first lines of the target should now look like this:
<target name="configure-override-projects"> <property environment="env" /> <fail unless="env.WORKSPACE" message="env.WORKSPACE must point to the workspace" /> <property name="oepe.adfmf.assembly.project.dir.0" value="${env.WORKSPACE}/HelloWorld" /> <property name="oepe.adfmf.assembly.project.dir.1" value="${env.WORKSPACE}/HelloWorldApplication" /> <property name="oepe.adfmf.assembly.project.dir.2" value="${env.WORKSPACE}/HelloWorldView" />
Save the file and close.
The last thing to do is to add an entry in releng/build.properties. To make it easier to test the command-line build, we will tell it to automatically generate a debug self-sign keystore for Android. Add this key-value pair:
In order to test your application in a "pure" CLI context, it's a good idea to test a different copy of the application than the one in the IDE. To do this, we will create a local GIT repository to simulate a real CI scenario where a developer has written an application and checked it in for use by Hudson or other build containers.
To add your application to a new local repository, click on one of the projects in the Project Explorer and hit Ctrl-A (Cmd-A on Mac) to select all. Right-click and select Team->Share Project...
In the Share Project dialog page, click on "Git" and hit Next. In the Git configuration dialog, click "Create..." and enter a local path on your disk.
Click Finish. Click Finish again to complete the wizard. When the wizard completes, you will see that all your project artifacts have been marked with "?" decorations and ">" characters in the Project Explorer to indicate that they need to be committed to Git.
To commit the changes, switch to the Git perspective (hit Ctrl-3 or Cmd-3 and in the search box type "Perspectives Git" then click on the selection). In the left-hand "Git Repositories" view, click on the repository you just created. At the bottom of the perspective, switch to the "Git Staging" view. Now, click one of the files in the "Unstaged Changes" list and hit Ctrl-A (Cmd-A on Mac) to select all. Right-click on the selection and click on "Add to Index" in the menu. All of the files listed under "Unstaged Changes" should move to the list below titled "Staged Changes".
Now, type a comment in the "Commit Message" box and press "Commit".
If you switch back to the Oracle MAF perspective, you should now see little orange decorations on your projects showing that they are checked into your repo.
To run the application from the command line, we're going to clone a new local copy of the repo on the command-line and then run the build. This means opening a Command Prompt (cmd.exe) on Windows or a Terminal (bash shell) window on Mac and Linux.
First, go to some directory that is different than where you created the Git repo above. Say "C:\temp\my-test-repo" (Windows) or "/tmp/my-test-repo" (Mac/Linux). Now clone the repository you created in the previous section. Go back to the Git perspective, right-click on the repository in the "Git Repositories" perspective and select "Copy Path To Clipboard". Now type this command in your command prompt, replacing "/Users/cbateman/blog-git/.git" with you the contents of your clipboard:
git clone /Users/cbateman/blog-git/.git
When this command completes, change into the sub-folder that got created. The folder should have the same name as the second to last segment of the path you pasted from the clipboard. In the case of the above command, the folder will be called "blog-git". Once in the directory, list the contents using "dir" on Windows or "ls" on Mac/Linux.
cd blog-git ls
You should see the three folders for you application (HelloWorld, HelloWorldApplication and HelloWorldView). Now change into the bin folder for your target.
cd HelloWorld/.main.android/bin
You are now ready to execute a build from the command-line. We do this by running ant with the "build" target. You need to specify two "-D" parameters to make sure it builds what you want. The first, parameter is "oepe.user.config.override.profile=releng". This tells the build to use the releng profile folder that you created above. The second parameter is "env.WORKSPACE". We configured this above so it would pick up from the environment. We did this for convenience since that is how we will get it on Hudson in the section below. For this step though, we'll just override it from the command-line to make life simpler (you could also set it in the shell environment if you prefer).
The command to build will look like this. You will need to adjust the env.WORKSPACE value to be the absolute path the folder that contains your three projects.
ant build -Doepe.user.config.override.profile=releng -Denv.WORKSPACE=/tmp/my-test-repo/blog-git
Once the build has completed, you can look at the output in ../build/debug. This contains all of the staged artifacts ready for packaging and deploying. At this point, you can call one of two targets, "dist" and "deploy". This first target, "dist" will take the build results and assemble them into an APK file that is signed with the default development certificate (release signing is covered below):
ant dist -Doepe.user.config.override.profile=releng -Denv.WORKSPACE=/tmp/my-test-repo/blog-git
When this completes, you will find both an unsigned and signed copy of the apk file under /tmp/my-test-repo/blog-git/build/debug.
The second target, "deploy" will allow you to deploy the APK to your device or emulator. To do this, you will need to execute the android adb command to find your device's id. You will find adb (adb.exe on Windows) in the "platform-tools" folder of you Android SDK installation. Execute this command:
adb devices
You should see output like this:
List of devices attached 95fff5ed03fe9e6a device
The big hex value is the device id. We need to copy and paste that into the last command parameter, maf.deploy.device.id:
ant deploy -Doepe.user.config.override.profile=releng -Denv.WORKSPACE=/tmp/my-test-repo/blog-git -Dmaf.deploy.device.id=95fff5ed03fe9e6a
Note that after calling "build" and "dist" you could alternatively just call "adb install" on the signed APK file. This will install the APK but unlike using the "deploy" target, it won't launch the application automatically. Refer to Android SDK documentation for more information on using the adb tool.
We are now ready to create a Hudson job to create internal release builds. First, we need to create a self-sign certificate so we can sign our application with something more "real".
IMPORTANT: The information provided here for signing your application is for development and testing purposes only. If you are planning to release an application to customers or enterprise users, it is important that you take great care in the way you obtain and manage your signing certificates. If applicable, be sure to consult your company's policies and procedures around using application signing certificates.
You can create a keystore with a certificate in it by using the Java keytool command:
keytool -genkey -v -keystore /tmp/my.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 10000
The tool will prompt you for information to create the keystore.
Make note of the path to the keystore (I used /tmp/my.keystore), the alias name (I used 'myalias') and the passwords that you use. I used 'foobar' for both the keystore and the key alias password.
Now we're ready to configure and run our Hudson job. Start your hudson instance (java -jar hudson.war) and go to the administration web page (http://localhost:8080).
From the main page, select the New Job link near the top-left. Enter "HelloWorld" for the name and leave the type defaulted to "Build a free-style software job". Click Ok.
In the configuration page we need to modify two sections: "Source Code Management" and "Build".
Under "Source Code Management", select Git and under "URL of repository" enter the same repository that you put in the "git clone" command above.
Under "Build", click on "Add Build Step" and select "Invoke Ant" from the drop down. In the "Targets" text box, enter build dist. Click "Advanced..." to expand the additional configuration options. Under "Build File", enter $WORKSPACE/HelloWorld/.main.android/bin/build.xml. Under properties, enter the values as shown below, taking care to modify the values for key.store, key.alias, key.store.password, key.alias.password to match those for your keystore.
Click Save at the bottom of the page.
Click the "Build Now" link for the job. After the build finishes you will find the signed and unsigned APK files under build/release in the job workspace.
The signed APK may be deployed directly to a device. The unsigned copy is useful if you want to distribute the application to a different group for resigning.
Oracle Enterprise Pack for Eclipse OTN Page
The latest Oracle Mobile Application Framework (MAF v2.1.0) has fundamentally changed the way the way that MAF developers use and deploy Cordova plug-ins with a mobile application. The OEPE version of the development environment for MAF is also significantly different from the JDevloper version. I intend for this to be the first in a series of four blogs highlighting the benefits of using OEPE for MAF development and deployment. The blog will cover the advantages of the OEPE approach for development especially when there is a team of developers.
The first topic will be on locating Apache Cordova plug-ins so that they can be used and deployed by a MAF application developed with OEPE.
With MAF v2.1.0, the source of the plug-in is compiled and then deployed along with the application. Previous versions required complicated packaging of a pre-compiled Cordova 2.2 plug-in and was problematic. MAF v2.1.0 has made using Cordova plug-ins far easier.OEPE has taken a flexible approach of describing a Cordova plug-in source using URLs. For this release OEPE supports the following URI schemes:
The platform:/resource scheme should be familiar to all Eclipse developers as it is one used by Eclipse to resolve resources within an Eclipse workspace. This is the recommended scheme to use as it offers the most flexibility at this time.
Since web URLs are not currently supported to directly download during a build, the source must be made available to the file system. OEPE has made the process of finding and fetching Cordova plug-ins easy.
OEPE has exposed the Cordova CLI command-line tool to allow invocation of the command to add a plug-in.
The utility requires that a project in the Eclipse workspace be configured to host the downloaded plug-ins.
This is done by executing the
cordova create command. The user can choose to create a new project, or configure an existing one.
To create a new project use the File >>> New menu, and choose Apache Cordova Project.
To configure an existing project to host Cordova plug-ins, use the Configure context menu on a project.
You will then be prompted with a dialog:
As all Eclipse users know, a workspace is a virtualized file system. A project does not need to be literally contained by a workspace; a project can be "linked" from some place else. This means as long as the project is available to the workspace, it will be available to MAF. In a team environment, a developer therefore has the flexibility to host the files for a Cordova project wherever it is convenient for him and the team.
A project that has been configured for Cordova, has a
nature. This results in a new context menu becoming available for that project.
The dialog uses the Cordova CLI command-line tool to download a plug-in using the
cordova plugin add command.
Currently there is a single Cordova plug-in registry supported at
The dialog expects the user to supply either a plug-in id or the URL to the repository if, available.
A hyperlink to the Cordova registry website has been provided in the dialog so that you can easily copy the
plug-in you wish to download.
Copy and paste the Plug-in ID or Repository URL into the dialog and Execute.
The project now contains the source for the plug-in.
In the next blog, I will cover how to make the plug-ins available to an OEPE MAF application.
Oracle Enterprise Pack for Eclipse OTN Page
By Preston Appel
With the MAF 2.1 release, OEPE users can now easily develop applications that interact with REST APIs. All the tooling that has been added is available via the REST Service Editor. This editor allows the user to experiment with existing REST APIs and to describe their requests and related data types. This blog covers the basic functionality of the editor and its REST Client, REST API and Data Types pages, by showing how you can send a simple GET request to a server and then store a description of the request and of the received payload. Part 2 of this blog leverages this description to generate Java 8 code that consists of an API that can be used to send the request and to consume the received information programatically.
This blog assumes some knowledge of MAF development with OEPE. To create a REST service description that we'll modify in our REST Service Editor, we need a MAF 2.1 application. Here is an outline of how to create it:
Please refer to the documentation if you need further details.
We can begin exploring REST services by creating a REST Service Description, an XMI file that
will be modified by our REST Service Editor. REST Service Descriptions can only be created in
the view project of a MAF 2.1 application. Below, we create this file by clicking the context
menu's File/New/REST Service Description.
On the REST Service Description dialog, enter a new file name, if desired, and click Finish to
complete creation of the XMI file and open the REST Service Editor.
From the image below, you can see the first page of the REST Service Editor: REST Client.
The REST Client page is for experimenting with existing applications that expose REST APIs.
This page is not part of the persistent state of the REST Service Description, so changes neither
dirty the editor nor are they persisted when you save the editor.
Now, let's invoke a REST API. For the purposes of this blog, we have a simple resource that will
return a list of departments. We start by entering its URI in the Address field. Note that we're
using a GET method.
Currently, the editor is geared toward JSON REST services, so we will need to get a JSON payload
if we want to import it to create data types. To do this, we modify the Request Details by adding
a header to indicate that the request will accept application/json payloads. We do this by clicking
the add icon on the Headers tab of the Request Details section. The Add Header dialog supports
content assist.
The Headers can be edited, deleted or reordered.
After entering the method, address and header, we are ready to send our request. Click on the Send Request
button to get a response.
The status in the Response section indicates that we have successfully sent our request and
received a response back.
For the purposes of this blog, the more interesting view of the response is the Rendered Content. This will
give us a good idea of what data types will be created when we import this JSON payload.
We have received back a JSON object containing a JSON array called "departments." Within each department, we have an object (a department) with an id and an array called "employees." The employee object has departmentId, id and name attributes. While not shown, the last employee object also contains a manager object, which is just another employee (at least in our payload). There's more information on how this payload is imported in the data types section near the end of this blog.
Now we're ready to import the request and data types from what we have entered on the REST Client page of the editor. Importing this information will allow us to replay the same request in the future and also to generate useful artifacts (like Java code) from it.
To import the request and data types, click Import the REST Client Information at the top of the editor.
We can choose whether to import the request, the data types or both from the information on the REST Client
page. Since we want to describe both a REST API and the data types, we leave both checked and click the
Next button.
We now have some choices about importing the request. First, we set up the root path. It is generally a
good practice to split the address up such that a new path is created for each of its segments. This tree
structure allows for requests on each of the path segments. In the Root Path field, we'll break
"http://localhost:4545/departments" right after 4545 (by deleting "/departments") so that the
"http://localhost:4545" becomes the root path. The "departments" segment will then be created as a child
of the root path. In the Importing Revisited section, we'll import
"http://localhost:4545/employees" so that you can further see how this works. We also supply a name for
the request, "getDepartments," and click Next.
Finally, we have some information about the data types that will be created. Note in the image below that
the box is checked to set the request output to a representation with the appropriate data type. This means
that our REST API will then know what data type to use for the data that is returned from the request. We now
click Finish to execute the import.
The import process takes us to the REST API page because we chose to import the Request. Looking at the Outline, we can see that our GET request, "getDepartments," was created and that it has the HTTP Header that we added to it: "Accept=application/json." Also note how a tree of paths was created from the root path and the "departments" segment.
Regarding the editor itself, the asterisk next to the file name at the top of the editor indicates that the
file is dirty. This operation has modified the XMI file. It is easy to back out changes, such as this import,
since the editor fully supports undo and redo.
Looking at the Output tab of the Request, we see that, as requested in the import wizard, we now have the
representation output appropriately set to Departments1 (the top level object from our JSON payload).
We'll look at the data types in a moment, where we can change the name of Departments1 to something more
Probably the safest and fastest way to describe an existing REST API exposed by an application is to use
the import process that was just described above. However, new paths and requests can be manually added
to the REST API page or existing ones altered. If you do that, it is recommended that you use the Copy to
REST Client button, available on requests, so that you can test the work you have done.
Click on the Data Types tab to see how the JSON payload was imported.
Looking at the Departments data type, we see how the JSON payload below maps to what was created.
Departments is a complex type because it has attributes. The id and name are simple attributes, a json.Number and json.String respectively. The employees array has become a complex attribute of data type Employees (it's plural because the name generator for the data types uses the array name "employees"). The manager type is also the complex type Employees.
Now, the data type Departments is plural for the same reason that the data type Employees is plural—
its name is generated from a name in the JSON payload which is plural. But the data type really does just
represent a single department. We can easily fix this by simply changing the name to Department. I've also
changed the name of the Employees data type to Employee since it also represents a single employee.
So where does the name Departments1 come from for the top-level JSON object in the payload? This comes from
the last segment of the address, which is "departments." The name generator had already used the name
"Departments," so "Departments1" is used here. Now that we've changed the data type Departments to
Department, let's change Departments1 and save the description file. Also note that the Data Types page
tells you which requests use a particular data type.
As we've seen, we can manually alter data types by changing their names. We can also add attributes and new data types. But how does changing an imported data type affect subsequent imports of JSON payloads that use that same data type?
Let's change the address to "http://localhost:4545/employees" on the REST Client page and send the request.
We're still using the GET method and still have the "Accept=application/json" header. We get back a list
of employees as our JSON payload.
On importing the employee data, we will import both the request and the data types.
The import functionality recognizes that we already have the "http://localhost:4545" root path, so it
tells us it will just be creating the child "employees" path. We also provide a name for the request,
Finally, the import wizard tells us what data types it will be importing. Even though we previously
renamed the data type Employees to Employee (singular), the wizard sees that the Employees JSON object
is the same as (or similar to) the existing Employee data type and offers to use Employee rather than
creating a new Employees type, if the "Merge types into the existing matching domain types" box is
checked. (Employees1 in this case would come from the last segment of the address
"http://localhost:4545/employees" and is the top-most JSON object in the JSON payload.)
Here we see how we've continued to expand the tree of paths with the "employees" path. And remember that
each path can have its own requests.
Moving to the Data Types page, we see how the Employee (singular) data type from our previous import was
used and a new Employees1 data type has been created.
And to finish the work of describing data types for this blog, I've changed the name of Employees1 to Employees
and saved the editor.
We've now experimented with invoking an existing REST API through the REST Client page. That information has been imported to describe the REST API and its associated data types. In the future, we can use the REST Service Description we've created to replay the requests through the Copy to REST Client functionality. The description also serves to document the REST API.
Once we're satisfied with our description of the REST API and the data types it uses, we can also generate Java code from it. That's covered in Part 2 of this blog.
Oracle Enterprise Pack for Eclipse OTN Page
REST Service Editor in Action
Oracle Enterprise Pack for Eclipse on OTN
Introduction to the REST Service Editor
Code Generation with REST Service Editor
OEPE YouTube Playlist for Mobile Developers
Oracle Enterprise Pack for Eclipse 184.108.40.206 adds new support for mobile application development using the new Oracle MAF framework. From within Eclipse, you can now develop hybrid mobile applications deploying to both iOS and Android devices. Some of the new features include:
Oracle Mobile Application Framework Design Time Support
Oracle Mobile Application Framework Runtime
Oracle Mobile Application Framework 2.0 is shipped with OEPE zip distributions and available for download through Eclipse Update. No need to download an external runtime as the framework is included with the development tools out of the box.
Oracle Mobile Application Framework Samples
Over a dozen complete Mobile examples applications are included with the MAF tools. These sample demonstrate examples and best practices for data visualization, binding to web services, using Cordova plugins to access device features, and more. See the MAF Example Applications under the standard Eclipse Examples wizard for list of samples and detailed descriptions.
Checkout OEPE OTN page for OEPE downloads, tutorials, and documentation or see the Mobile Application Framework portal for even more information including new training videos and samples.
Frederic Desbiens takes you through an introduction on how you can use ADF Essentials to develop and deploy ADF applications with OEPE and GlassFish.
Oracle is a gold sponsor at the 2014 EclipseCon for North America, March 17-20, San Francisco!
Oracle Enterprise Pack for Eclipse (OEPE) will of course be representing. If you're going, you should definitely checkout our new mobile development capabilities.
Java 8 is also a huge deal as it planned to be GA around this time. If you're interested, there is a dedicated track covering Java 8. The schedule is still in the works, but you can check it out here.
The focus of this blog is on Oracle Enterprise Pack for Eclipse (OEPE) and Oracle's involvement in the Eclipse community. Visit us for information on releases, tips and tricks related to Eclipse, and general Eclipse community information.


text:
PicIT24 – Review
PicIT24 –
share photos & quotes, app & website
Company: Frederick Sachs
Version: 1.0
Compatible with: iPhone 3GS, iPhone 4, iPhone 4S, iPhone 5, iPod touch (3rd generation), iPod touch (4th generation), iPod touch (5th generation), and iPad. Optimized for iPhone 5.
Requires: iOS 4.3 or later
Price: Free
If you're feeling overwhelmed with social media, and especially photo sharing, PicIT24 has an idea for you. What if you could only share the best photo and thought of the day? What if your friends/followers were limited to the same? Only one photo. Only one quote. Once a day.
PicIT24 is a response to the tidal wave of incoming information that many of us suffer from. Rather than watching a stream of text and photos go sliding by, PicIT24 allows folks to share only the day's best. As a user, it forces you to think before posting, delay your decision until later in the day, and be intentional in what you share.
About Julie Kuehl
Julie Kuehl is an IT Communication Specialist by day. Currently she is focused on becoming a total nerd by publishing podcasts, writing blogs and reviews, and learning web design/development. Podcasts she hosts include SciFi Tech Talk and Apptastic Reviews. More info can be found at about.me/juliekuehl.
- Web |
- More Posts (13)

subset: commoncrawl


text:
Alzheimer's Disease Health Center
Assisted Living Facilities for Alzheimer's Disease
In this article
When someone with Alzheimer's disease can't live alone anymore, an assisted living facility is one way to make sure she gets the care and attention she needs in a safe place. The decision to move is not an easy one for you, your loved one, and your family to make. Here's how to tell if it's the right option for your loved one's situation and how to choose a good facility.
What Is Assisted Living?
Assisted living is a type of housing for people who need help with some medical and personal care but can still handle some parts of daily living on their own.
Most facilities are designed to feel like home and encourage residents to be as independent as they can be. You and your loved one can choose the services you want the staff to take on and those your loved one can handle. Living spaces can be individual rooms, apartments, or shared quarters.
Assisted living services vary from place to place, but they usually include:
- One to three meals a day
- Medication reminders
- Help with dressing, bathing, and other personal care
- Housekeeping and laundry
- 24-hour emergency care
- Some medical services
- Social and recreational activities
How Do I Know if My Loved One Needs Assisted Living?
As Alzheimer's gets worse, your loved one may start to need more care and supervision. It may be more than you can handle as a caregiver. As you think about her day-to-day needs, consider these questions:
- Do you worry about her health or safety when she's alone at home?
- Are you physically able to handle her care?
- Does the help she needs keep you from your work, family, or personal life? Are you feeling more stressed, irritable, or burned out?
- Would the structure and social life in a care facility be good for her?
What Should I Look for in a Facility?
The best way to judge the quality of an assisted living facility is to see it in person and talk to staff and residents. When you make visits, take these checklists with you.


text:
Credit : Frazer Harrison/Getty Images
Adam Levine
Adam Levine Shaves Part of His Head — Debuts Dramatic New Look on the Red Carpet! (PHOTOS)
Remember when Miley Cyrus shaved part of her hair and then Demi Lovato did the same? Well now it's Adam Levine's turn! He's so on trend.
The The Voice coach stepped out for a red carpet event for the NBC show in Los Angeles, California on April 3, showing off his edgy new look. The top of Adam's hair is still super long, worn slicked back with the sides shaved. He paired the new style with light denim jeans, a black leather jacket, New Balance sneakers, and sunglasses.
Want to see Adam's shaved hair? Click to the next slide!


text:
Frustrated with your spiritual life?
Want to grow deeper in your relationship with Jesus but don't know where to start?
Not finding much help in other spiritual programs?
Discover 5 keys to spirituality and the practical strategies that will help you grow in each one in this free online course!
No thanks - just take me to the website
*This is a Free service and no credit card is required.


text:
Now that you've heard about the generals, we'd like to give you some specific information. Here are our guidelines for the ARC Tours.
Blogger Guidelines:
- You Must a Southern Blogger and Live in the South. I feel this should go without saying, but just in case it wasn't clear before. ;P
- All bloggers must be blogging for 6 months or longer. We aren't trying to root people out or keep people from participating, we just want to have bloggers that have stuck with it for a while and understand the time and energy it takes to run a blog. That being said, we will make exceptions on a case to case basis.
- All bloggers must update their blogs at least 2-3 times a week. Again, we just want to make sure ARCs are going to active blogs.
- All bloggers must fill out the form under SBB ARC Tours. We'll be asking info like your name, blog and address so we have all the things we need on file for the tours. We won't be using this information for anything other than to get the books in your hands faster and it will be under a private google.doc that only Shannon and I can see.
- All bloggers joining the tour must follow this blog or the Twitter account in some way. This is so you can receive all the latest info on ARCs going out, things going on in the South and link up your reviews.
- Once the ARC Tour Title post is up, comment to be included. That's really all there is to it. After you've followed the guidelines above, all you'll need to do is comment on a post (depending on how many slots are open for the tour) and we'll let you know via email if your in.
- All ARCS will be out for 1 week only. You'll have one week to read your ARC and get it into the mail. If you receive your ARC on Saturday, it needs to be in the mail on the way to someone else by next Saturday.
- Bloggers must e-mail us at email@example.com the day they get the book in and the day they send the book out. This is important so we can track where the book is going and give you the addy to the next person on the tour. When you email us on the day you send the book out, a delivery confirmation number is required.
- Delievery Confirmation numbers are required for ALL ARCs. Once a blogger mails a book out, that blogger must email us at firstname.lastname@example.com with the DC#.
- Bloggers must agree to post reviews for the ARC title within 2-3 weeks of their publication date. It can be 2-3 before or after its release but it must be sometime within that window. The publishers supplying us with ARCs are giving them to us with the understand that this will happen.
- Three strikes and you're out. Should a blogger fail to follow the guidelines three times for whatever reason, we will be forced to remove their name from the touring list.
- If a blogger donates an ARC for the tour, they will get first priority over a tour of their choice. We want to share as many books as possible and always want to thank bloggers for wanting to donate. As such, we want to be able to offer that generous blogger a book they want in return. However, we are not responsible should some harm befall an ARC during it's vacation
- Grab our SBB ARC Tour Button. Display it proud somewhere on your blog. Whether your currently participating in a tour or just waiting for the next one, we'd love you to show us and the tour your support.
- Weekend Getaway: 4-5 blogger tour
- Road Trip: 6 blogger tour
- Tour of the South: 7-8 blogger tour


text:
Central West
With a wide range of rock, soil and land types, production of wool, cattle and wheat form the core of our region, with strong growth in horticulture, dairy farming and viticulture.
Training on demand
Access the latest advice on how to improve your farm dam health in our online training (23:22).
We're published our Local Annual Report. Find out how our Staff and Board have served Central West NSW.
Events in our region
Find out what events are being run by the Central West LLS and our partners.
Staff and services
Want to contact your local LLS office or talk to one of our staff?
Interested in the latest news, events and updates across the central west? In less than a minute you can sign up to our newsletter to hear about agricultural production, biosecurity, natural resource management and emergency management.
Media releases
- This little piggy isn't welcome at market
25 July 2016
- Victor Dominello and Niall Blair joint media release: $2 million quad bike safety rebate program open
19 July 2016
- Do your Eucalypts look like they are dying?
14 July 2016
- Showcasing cultural heritage during NAIDOC Week
01 July 2016
- Legume workshops highlight cropping issues
27 June 2016
- Bloat deaths in cattle – warning to graziers
24 June 2016


text:
This email was created by [your name] who thought you would be interested in the following Article:
"How to display a control's hierarchy as a string" I created an extension method that allows my program to find all of a control's parents' names. It returns a string separated overrideable delimiter (::).
CodeProject also contains hundreds of articles, free source code samples and applications to help in your day to day programming. Why not give it a try!


text:
Independent iOS and Mac Os X Software Developer
Twitter: @pfiss / @pfitz
Communities (7)
Top Network Posts
- 35Can I use an enum as a property in Objective C
- 32Passing variables between view controllers
- 25How can I compile and run C in Xcode?
- 21Unrecognized selector calling category method in static iOS library
- 19Differences between strong and weak in Objective-C
- 18Git ignore file for Xcode 4 projects
- 15Change the height of NavigationBar and UIBarButtonItem elements inside it in Cocoa Touch
- View more network posts →
Keeping a low profile.
This user hasn't posted... yet.
Badges (1)
Gold —
Silver —
Bronze 1


text:
0 ReviewsWrite a Review
Write a review for a chance to win a $1,000 gift card. See details.
Roll Sleeve Henley Top
Product not available
Have questions?
Chat with us or call 1.888.282.6060.
HideDetails & Care
A split neckline with three decorative buttons begins a melange-knit top eased with roll-tab sleeves and a vented hem.
- Approx. length from shoulder: 26".
- Three-quarter sleeves.
- Polyester/cotton; hand wash.
- By Caslon®; imported.
- Point of View.
Roll Sleeve Henley Top
Write a Review0 Reviews
Write a review for a chance to win a $1,000 gift card. See details.
Enter a valid first name.
Enter a valid last name.
Enter a valid email address in the format: firstname.lastname@example.com.
Close modal


text:
IArchives found people had "tremendous interest" in accessing the historical documents, Wilding said. "We thought, we've built this great factory to digitize content, let's create our own Web site of digitized content."
That was Footnote, which was launched in early 2007, after the National Archives deal was reached. That agreement calls for iArchives to digitize the materials and make it available for free for visitors to National Archives branches, and for a fee on the Footnote.com Web site for subscribers. Subscribers who now total more than 25,000 pay either $1.95 per document view or a monthly $7.95 or annual $59.95 rate.
Under the terms of the deal, five years after the records are first made available on Footnote.com, the digitized documents can be placed on the National Archives Web site.
IArchives has 35 full-time employees in Utah, with most involved in scanning images that are sent to about 1,200 outsourced workers in China, the Philippines, Bangladesh, Vietnam and South Africa for digitization and document classification.The company has two major shareholders: Lindon-based Canopy Ventures and Century Capital Partners in Massachusetts. Wilding declined to disclose financials, other than saying the company is not yet profitable. Still, in March, it had more than a million unique visitors to the Web site, "and we hope to see three times that by the end of the year," he said.
Focus on sharing
Wilding wants visitors to be more than just viewers, by capitalizing on the social-networking components at the Web site. He envisions the site as "the world's shoebox," in which users augment the historical documents and photos with pictures, stories and discussions of their own.
"If they find a family name at the site, they can say, 'OK, I got this far. Does anybody have any additional information about these people, who they're related to or the events that affected their lives?'
"We wanted to create a forum where people could come in and say, 'Oh, yeah. I knew that person; my father served with him in World War I,' or whatever the situation might be," he said. "And we don't want them just talking about it. We want them uploading their photographs and stories."
The part of the site that allows people to upload their own content is free, he said.
Justin Schroepfer already has uploaded photos of his grandfather from World War II, and World War I postcards from his great-grandfather. That's in addition to information about his Vietnam War veteran father. "It goes beyond uploading a photo or a letter. It's really getting people to talk about the stories associated with it, and preserving that, as well," Schroepfer said.
Wilding expects user-contributed content to become more prominent on the Web site, although it may never be the majority of the site's content. He also anticipates that the site will soon have video capabilities."Where are we going?" he asked. "It's really to create a fun learning environment for people to come and engage and share."
E-mail: firstname.lastname@example.com
- Verizon buys Yahoo for $4.83B, marking end of...
- Historic solar flight marks first...
- Judge set to decide on $15B Volkswagen...
- Former Oregon lumber town rides digital wave...
- US home prices rise at steady pace as sales...
- 5 tips for a successful job interview
- Why workers aren't taking vacation time, and...
- Salt Lake's 'passive' house a model of...
- Get all your outdoors work done by... 12
- Salt Lake's 'passive' house a model of... 6
- Provo airport expansion could provide... 5
- Verizon buys Yahoo for $4.83B, marking... 2
- 5 tips for a successful job interview 2
- Why workers aren't taking vacation... 1
- 5 things to do when quitting your job 1
- Historic solar flight marks first... 0


text:
Alleged drug dealer, family indicted in New Mexico
TAOS, N.M. (AP) — An alleged leader of a cocaine distribution ring has been indicted on tax evasion, conspiracy and money laundering charges in New Mexico along with his wife and daughter.
A Taos County [auth] grand jury returned indictments Thursday against 56-year-old Ismael Adame, 56-year-old Angela Adame and 31-year-old Jessica Gomez-Adame.
Authorities say the Adames and 18 other suspected cocaine dealers from Taos were arrested May 15 by state and federal agents.
They say Ismael Adame led a criminal operation that was responsible for trafficking cocaine into Taos County and then distributing it to dealers in Colorado, Oklahoma, Texas, and Utah.
If convicted, prosecutors say he could be facing up to 90 years in prison.
Adame and his wife operated a Taos plumbing business and allegedly underreported hundreds of thousands of dollars of revenue.
Related Posts
Leave a Reply
You must be logged in to post a comment.
« Man accused of killing mom with sword NM congresswoman: Immigrants not getting legal rep »


text:
On January 7, 2013 and January 8, 2013, CombiMatrix Corporation (the "Company") issued (i) an aggregate of 450,609 shares of common stock to accredited investors upon such investors' successive conversions of an aggregate of $901,006.72 of the stated value of the Company's Series A 6% Convertible Preferred Stock (the "Series A Stock"); (ii) an aggregate of 21,790 shares of common stock to such investors as make-whole dividend payments thereon in satisfaction of the aggregate amount of $95,716.01 in make-whole dividend payments under the Certificate of Designation of Preferences, Rights and Limitations of Series A 6% Convertible Preferred Stock of the Company (the "Certifcate of Designation"); and (iii) an aggregate of 205 shares of common stock to such investors as dividends accrued from January 1, 2013 through the date of conversion on the Series A Stock due under the Certificate of Designation. In connection with the above-described conversions, the investors waived the conditions set forth in the Certificate of Designation relating to the dividend and make-whole dividend payments on the shares of Series A Stock being converted such that the dividend and make-whole dividend payments could be made by the Company in shares of common stock in accordance with the terms of the Certificate of Designation. As a result of the issuances on January 7, 2013, the Company has issued more than 5% of its outstanding shares of common stock in unregistered transactions in the aggregate since the last report that it filed under Item 3.02 with the Securities and Exchange Commission. After the above-described issuances, the Company has 1,987,901 shares of common stock issued and outstanding.
Sentiment: Hold
Book Value Per Share (mrq): 2.56
it will drop further to 3s if it can not hold today above 4.58 (50 day MA)
Are you high on something now legal in Colorado? Based on 3.4Mil shares (there are more registration statements to fully convert the preferred shares) and about $2Mil left in the cash kitty the book value now is about $0.65 per share and dropping fast each week. Please keep in mind this is not a going concern and April (Q2) is BK month. But if you still believe in the tooth fairy, then make up whatever you'd like.


text:
Top Definition
a programming language consisting primarily of tabs, spaces, and newline characters.
Below is an extract from a Whitespace program which asks for a name then outputs it
Beküldő: StarManta 2003. április 3.
Trending Now
The time of inactivity in a process, whether between processes or in a process
The project has too much whitespace in it.
Beküldő: o0Bull0o 2015. augusztus 13.


text:
Alumni Café
Alumni Café is a casual lunch-and-learn speaker series that connects a small number of our undergraduate business students per session with a local Warrington alum. The goal is to facilitate our students' understanding of classroom concepts by offering the experienced and balanced perspectives of our diverse alumni base. The intimate and relaxed setting, with catered lunch, creates an environment that encourages meaningful engagement.
Katharine Burks
Alumni Engagement and Annual Giving Coordinator
- Email (katharine.burks at warrington.ufl.edu)
Potential topics include, but are not limited to:
- How can I best develop my idea or launch my business while still in school? How can Heavener help me get my new venture off the ground? (i.e. what is true entrepreneurship?)
- What will the environment for investing, growth and expansion be within Florida by the time I graduate?
- What is networking? How do I effectively network? What is the power of social networking?
- What skill sets adjacent to traditional business are the most valuable for career success? How do I best collaborate and partner with other disciplines?
- Beyond course selection, what are the intangible qualities that a hiring manager looks for? How do I develop those qualities while still in school?
- How important is career development while working in a job? How do I find time for career development while still remaining committed to my daily tasks? What are the best outlets/ways to go about building a curriculum for myself that caters to career development?
- Business ethics: firing employees, employee privacy, conflicts of interest, etc.
- Job transitions and success
No PowerPoints, flashy handouts or suits are required. We're simply recruiting great storytellers who appreciate the learning process. This is your chance to give back to Warrington and connect with students in a very unique way.
Spring 2016 Speakers
Don't miss out—sign up early! To accommodate additional participants, registration is being limited to two sessions per student. If you are interested in attending additional sessions, please email Katharine Burks to be added to the waitlist. Registration for each session will open at 8:00 am, two weeks prior to the session date and is on a first-come first-serve basis. If you would like to be added to the wait list for a session that is full please email Katharine Burks (katharine.burks at warrington.ufl.edu).


text:
Dashboards provide a way to view data from several different reports with one simple click. If you would like data on a Dashboard, please contact the office of Institutional Research and Data Management at firstname.lastname@example.com.
Please select a Dashboard from the list below to view it. Once the Dashboard is open in PDF format, you may reduce or enlarge the view, as needed.
To view and/or print all Dashboard reports shown below in one document, click here (Enrollment - by Residence for Fall 2015 is not included in this document).
Fall 2015 Data is now available!
- Fall 2015 Enrollment - by Gender
- Fall Enrollment Comparisons - by Gender
- Fall Enrollment Comparisons - by Class
- Fall Enrollment Comparisons - by Campus
- Fall Enrollment Comparisons - Minority and Ethnicity
- Fall Enrollment Trends - by Ethnicity
- Fall 2015 Enrollment and Comparisons - by College
- Fall 2014 Enrollment - by Residence (2015 data not available at this time)
- Fall Enrollment Trends - by Campus
- Fall 2015 Programs and Degrees Offered
- Fall 2015 Faculty Excellence
- Academic Year Comparisons & Trends - Degrees Awarded
- 2014-2015 Academic Year Semester Credit Hours and Fall Trends
page last updated 5/25/2016 1:45 PM


text:
Loss of Lives in Clinical Trials...
Capitol Hill Critics Second-Guess Agencies Using...
Clinical-Style Validation, Regulation, and Quality Control...
Co-Sourcing Improves Pharmaceutical Laboratory Productivity
The Leukemia and Lymphoma Society is providing Constellation Pharmaceuticals with up to $7.5 million to support the continued preclinical and early clinical development of small molecule BET inhibitor drugs for the treatment of hematologic cancers. The firm says inhibition of the bromodomain and extra-terminal—or BET—family of chromatin adaptors modulates gene expression and leads to the death of tumor cells across a range of hematologic malignancies and some solid tumors.
Constellation is exploiting expertise in the field of abnormal epigenetic regulation of gene expression, to build a pipeline of small molecule therapeutics for the treatment of cancer, inflammatory/immunologic disorders, and other diseases. The firm's drug discovery product engine, including screening strategies and structure-based drug design, has already yielded potent and selective inhibitors of BET bromodomains. Last year Constellation published preclinical data demonstrating that small molecule BET protein bromodomain inhibitors suppress the transcription of MYC, which plays a role in a number of cancers. Additional emerging data also indicate that small molecule BET inhibition blocks the expression of NF-kB-dependent genes and BCL-2, which are also implicated in cancer and inflammation.
The Constellation partnership has been established through LLS's Therapy Acceleration Program, through which the organization partners directly with biotech firms to help speed the identification and development of promising drugs. "We are very pleased to be partnering with Constellation on the further development of its leading BET inhibitor program so that we can more quickly determine how this new class of drugs can have the greatest impact for patients with these diseases."
To save this item to your Favorites,
log into GEN Select.
We'll be sure to take you back here after you do.
Not a member of GEN Select?
To comment on this article,
log into GEN Select.
We'll be sure to take you back here after you do.
Join 110,000 colleagues who rely on GEN Highlights for breaking news and exclusive articles shaping today's life science tools and technologies.
You're all set! Thank you for subscribing to GEN Highlights.
MDMA (commonly known as the empathogen "ecstasy") is classified as a Schedule 1 drug, which is reserved for compounds with no accepted medical use and a high abuse potential. Two researchers from Stanford, however, call for a rigorous scientific exploration of MDMA's effects to identify precisely how the drug works, the data from which could be used to develop therapeutic compounds.Do you agree that ecstasy should be studied for its potential therapeutic benefits?
Be sure to add [email protected]
to your Address Book or Safe Senders List.
here for instructions.
If you have any questions about your subscription, click
here to email us or call at (914) 740-2189.
You may also be interested in subscribing to the GEN magazine, an indispensable
resource for everyone involved in the business of translating discoveries at the
bench into solutions that fight disease and improve health, agriculture, and the
environment. Subscribe
today to see why over 60,000 biotech professionals read GEN to
keep current in the areas of genomics, proteomics, drug discovery, biomarker discovery,
bioprocessing, molecular diagnostics, collaborations, biotech business trends, and
© 2016 Genetic Engineering & Biotechnology News All Rights Reserved


text:
2013 Round Up Of Plug-In Electric Vehicle SalesJan. 22, 2014 • Ken Fields • 2 Comments
Instablogs are blogs which are instantly set up and networked within the Seeking Alpha community. Instablog posts are not selected, edited or screened by Seeking Alpha editors, in contrast to contributors' articles.
Company Description
Mitsubishi Corp. is a general trading company engaged in the import, export and wholesale of various products. Co.'s products include internet services, financial services, IT solutions, all forms of carbon and hydrocarbon products, ferrous metals, non-ferrous metals, gas/petroleum equipment and... More
Sector: Financial
Industry: Diversified Investments
Country: United States
Other News & PR
See More »


text:
Hello! I *think* this is the right forum to post this...
Anyway, I have an Xbox 1.0 (Kernal: 4034, Dash: 4034) w/ an Enigmah Chip installed. I recently put on Evolution-X, but the only problem I am having is the eject when you open the drive. I don't want/need it to keep rebooting whenever I open the drive. The bad part of this is that the Enigmah can't be flashed and I don't want to solder in a new chip or the TSOP points. I was thinking I could use the Pheonix Bios Loader and load up the appropriate fixed bios (BFM of course). The only problem is that I am stumped at how to go about doing it and if it would even be worth it/work. My Xbox boots up to Evolution-X (3935 version) and I have no problem FTPing files in there. If you have any ideas on what to do or advice, let me know. Please don't flame. Thanks in advance!
Xbox 1.0/enigmah Chip/evolution-x Problem...
Started by Blank , Jan 24 2004 10:57 PM
1 reply to this topic
Posted 24 January 2004 - 10:57 PM
Posted 25 January 2004 - 10:59 PM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users


text:
MIAMI – LeBron James couldn't wake up Sunday. He was sluggish when his alarm went off at 8 a.m. and still in a funk when the Miami Heat and Knicks tipped off five hours later.
He eventually got into form, just in time to perhaps doom the Knicks' playoff chances.
James scored 38 points and the Heat survived an NBA-record 22 3-point attempts from the Knicks' J.R. Smith in a 102-91 victory that kept Miami atop the Eastern Conference standings.
"You do your job and you live with the results," James said. "We lived with the result of J.R. making some of those bombs."
Chris Bosh added 14 points and Ray Allen had 12 for the Heat (53-23), who are a full game ahead of Indiana (53-25) and two up in the loss column in the East race. The Pacers lost at home to Atlanta, 107-88 later Sunday night.
Smith was 11 for 28 from the floor, 10 for 22 from beyond the arc, and took 10 3s in the fourth quarter alone while Carmelo Anthony didn't attempt a single shot in the quarter.
The single-game mark was previously held by Damon Stoudemire, who hoisted 21 3s on April 15, 2005.
"It's not really been a goal of mine," Smith said. "I saw the open 3 and tried to take them. I had to take advantage."
Smith finished with 32 for the Knicks, who got 14 from Raymond Felton and 13 from Anthony on 4-for-17 shooting. Anthony has been bothered by a sore right shoulder, but played 44 minutes.
"Melo is still hurting," Knicks coach Mike Woodson said. "I couldn't rest him again tonight. That second half, he was giving us what he's got."
A bad day got worse for the Knicks when the Hawks-Pacers game went final. The Knicks (33-45) are two games behind the Hawks in the race for the final playoff spot, three in the loss column. And the Knicks have only four games left.
"Our fate is almost now in Atlanta's hands," Anthony said. "It's tough. … My fate is in somebody else's hands."
The start suggested it would be a great day for the Knicks.
James had four turnovers in the opening minutes and the Knicks— which had their best opening 2 1/2 minutes offensively in at least a decade, according to STATS LLC — held a 16-3 lead.
"Flummoxing," Heat coach Erik Spoelstra said. "It was bizarre. Our turnovers were, no offense to the Knicks, absolutely unforced."
It was still 16-3 when Felton was whistled for a second early foul, and everything changed. The Knicks missed six straight shots and the Heat scored nine straight points. James — who had one turnover in the final 3 1/2 quarters — settled down and things started going Miami's way.
"I wasn't awake yet," James said.
Miami got snippy with one another in plenty of huddles during the game, something that Spoelstra seemed to particularly relish.
"Verbally spitting at each other, I like it," Spoelstra said. "That's what we need to get ready for the second season."
Miami's lead was 15 with just under 9 minutes to go before the Knicks made it interesting. Iman Shumpert missed a wide-open 3 with 3:30 left that would have gotten the Knicks within four. James answered a layup at the other end and after Smith made his ninth 3, Mario Chalmers answered with one of his own, making Miami's lead 97-88.
So Smith made another, giving the Knicks life. And Miami again answered, this time Bosh doing the long-range honors to restore the nine-point edge.
Miami played without Dwyane Wade (hamstring), Greg Oden (back) and Chris Andersen (back, knee). Amar'e Stoudemire scored 12 and Tyson Chandler finished with 10 points and 11 rebounds for the Knicks.
James had four turnovers by the time Miami scored six points. But he settled in before the quarter was over, outmuscling Tim Hardaway Jr. for what became a three-point play. Hardaway tried to wrap James up on a break, but the four-time MVP kept going, scored and then flexed a biceps muscle to the roaring crowd.
"Trying to make a play," James said.
And after that sizzling 14-point beginning, the Knicks needed more than 13 minutes to score its next 14 points. A 31-10 run helped the Heat take as much as an eight-point lead in the second quarter, before the Knicks went into halftime up 50-48.
Miami found some breathing room by scoring the final seven points of the third. James laid it in while getting fouled with 4.1 seconds left — and as "M-V-P" chants rained down he gave Miami its biggest lead to that point, making the free throw that put the Heat up 73-64 entering the fourth.
Notes: Former Knicks coach Jeff Van Gundy worked the game for ABC, sitting three chairs away from his brother and former Heat coach Stan Van Gundy, working for ESPN Radio. … Bosh had no rebounds in the first half, then seven in the third quarter. … A fan clad in Knicks garb caught a T-shirt thrown into the stands by a Heat dancer during the fourth quarter. He threw it back onto the court. … Hardaway Jr. is 2 for 22 in two games in Miami this season.


text:
Thank you for supporting KLOVE! Because of your support marriages are healed and restored. If you don't give yet you can give online or call (800) 525-5683.
This was a phone call we received from Jean, a mother who just lost her son. In the midst of the grief she was dealing with, she still praises God through it all. A remarkable story of perseverance and an inspiration to us all.
"Good Morning" by Mandisa
Thanks to your support to K-LOVE, you have changed the life of Jonathan and his family. Pledge your gift to K-LOVE by calling us at 800-525-5683 or by giving online.
"About two years ago my wife and I started having problems and separated. Being that I did not have the money for my own place I began sleeping on the couch. My mother gave me a CD by Sanctus Real and told me to play "Lead Me." I couldn't even finish the song it hit me so hard. Now from that point on I started listening to K love, and more and more I found that right song at the right time so often that I would just break down and cry out for the Lord. I'm proud to say that my wife and I are back together and better than ever and I'm trying now to "lead" her and our children to the Lord so they too can have this warmth and peace that I have found. Thank you all for the ministry and thank you for everyone who helps support k love cause without you all, I might not have been able to stay on that couch and let the lord change me the way that he has. Thank you"
- Jonathan
Now Playing: One True God (...
Artist: Steven Curtis Chapman
On-Air: Larry Wayne
Join us each morning from 5-10am CT (3-8 PT) and be part of the show! Follow along and let us know what's on your mind by connecting with us on Facebook or Twitter!!


text:
What to Do With All the End of School Clutter {video}
With the end of school comes the onslaught of paper, backpacks, school supplies, and textbooks into your home! Every family across the country is screaming, "Nooooooo", don't bring it home! The end of school clutter doesn't have to be stressful. Here are 4 Ways to decrease the clutter and organize the rest! Organize Your Life: End of School 1. Dump everything out!- Start by dumping out all the backpacks, totes, school supply boxes, and pencil pouches. Do it now because you won't feel … [CONTINUE READING]


text:
Sunrise on top of the cliffs above the Upper hot springs
Super iridescent cloud, my first day in the canyon. More in my "Clouds" gallery
Tarahumara (they prefer Raramuri) woman leaves the canyon with her burro & rooster, 2010 (husband not shown)
One pool at the Upper hot springs
Stephen & Nicole head to the beach
Nicole's last sunset from the great overlook, Rio Urique below
Incised meanders of the Rio Urique. They were carved when rare high water flowed over the left shoulder of the rock pillar between the visible parts of the river!
Near the Upper Hot Springs. This is HDR High Dynamic Range photography. It compresses the enormous contrast of light to dark in the canyon to bring out detail and color.
Tom at the Upper hot springs camp, 2010
Morning fog from Upper hot springs, 2009
Jon mesmerized by spectacular clouds halfway down the falls, 2007
The twin multi-leveled waterfalls total 1000' vertical!
Glen and part of Randy emerge from a cane break.
A hazy morning from the Inner hot springs
Hamid and Steve in the Inner hot springs, 2009
Me in the inner hot springs by moonlight. It's 5 feet deep further back.
Iridescent cloud spectacular!
The 2010 Flood enabled this very hot water to reach the river and cool enough to bathe for the 1st time in my 26 yrs visiting here.
The view by moonlight from the cave by the Inner hot springs
Hamid at the overlook above the Inner hot springs, 2009
My guide service: EvanRavitz.com/paradise
Iridescent cloud heaven
Leaves in the water
In the oak zone up the side canyon from the Inner hot springs
My 1st day back in Boulder: the 2nd-best iridescent clouds I've seen. See the best in my "Clouds" gallery. Now, the story...
A spectacular sunset bid me farewell as I left Boulder on the bus Jan. 4
The plaza gazebo in Creel, gateway to the Copper Canyon area.
Girl selling pulseras (wristbands) on the Plaza
Light metal musicians in the plaza. There really aren't many "emergencias" here.
Tarahumara (they prefer "Raramuri") baskets, many made of pine needles.
View from the cave near the Inner hot springs
Oil on the water.
Halfway down the 1000' high series of waterfalls.
700' below, the Rio Urique is seen both left and right of "goat hill." The Urique is the biggest of the canyons popularly known as Copper Canyon.
The hummingbird ("colibri") is a symbol of joy to the Maya
This Norwegian-Canadian and I walked 11 easy miles from Creel to Valley of the Monks and back. A relief from the steep canyon with big packs.
The Monks are up to 80 feet tall. Nearby is an incredible rock maze.
Heaven is in your nose
Randy and Glen arrive in the Canyon.
Randy dug the jungly parts.
Glen on Flying Saucer Rock. Later he had his best flying dreams ever!
Glen checks out a rusty contraption which rides nn a wire to cross the river -to a now-abandoned gold mine.
In the side canyon almost to the Inner hot springs.
Coming out of the canyon back to the village of Areponapuchi
When we got back, Glenn and Randy bought stuff from the nice folks who took care of their car.
We drove to Mision San Ignacio
Nicole and Stephen flew out from Boston
We're on a main route with a 2-mule train a coupla times a week. That means the rocks are rolling.
Dry algae. Yum!!
Stephen & Nicole's last evening had a great sunset.
Their last sunset in the canyon
Lone cow takes in the view. See the "incised meander" in the river? Water sometimes rises to flow to the LEFT of the rock pillar between the 2 parts of the river you see!
Jan 25-6 was the only rain in the first quarter of 2011, so we put up the tent.
The side canyon narrows and finally is impassable -except from above...
Sunrise from the Inner hot springs
This grinder by the Rio Urique is too big for corn. Maybe it's to pound the many plants they use to stun fish in little corrals.
They opened an 80-seat gondola halfway into the canyon last October. In 2 years a smaller gondola is to be built the rest of the way to here near the bottom, where they dropped off a compressor by helicopter
The Flood of 2010 wiped out most of some 60 orange trees that were here, and 1/2 mile of streambed.
The flood created this new pool in the Rio Urique.
The view from where the orange growers lived
Boulders pile 60' high under the cliffs above.
Coals. I cooked on wood every day at one hot springs. The other has a vent so hot, it cooks oatmeal, pasta and even quinoa!
In the canyon wall just 30' from the Inner hot springs is this cold spring.
Crystalline rocks by the cold spring.
The Inner Hot springs and guamuchil tree with drippy roots are right on the side canyon wall.
February Moon from the Inner hot springs
The Inner Hot springs at sunset.
Up the side canyon.
Beloved campsite by the Rio Urique
The bright green is "laurel." The leaves make a popular tea and the seed pods are delicious.
Raramuri house.
Above the Upper hot springs
A skinny local dog came to visit.
The Great Overlook.
7 minutes later.
Still life with black sand
Where the Upper hot springs water becomes a 150' waterfall
The NEW hot springs pool on the Rio Urique!
Algae in the hot springs outflow
1 1/2 hours up the arroyo I met this old man looking for a lost burro.
A sycamore among oaks.
Big Bird (below the sun) guards the beach with the new hot springs
"The Mitten" gets the first sun at the Inner hot springs
Iridescent clouds happen when most droplets are mostly the same size.
A government suspension bridge that hasn't worked in my 26 years visiting here.
The 2010 Flood left these boulders -up to 12' long- in front of the cave near the Inner Hot Springs
The new beige boulder right of center is about 12' long and 5' thick. I'd guess that means between a 100 and 1000 year flood.
Campsite 30' from the Inner hot spring.
March Moon
My first night on the river.
These thorns have thorns.
These are sharp too.
The tree holding my hammock clings to the hillside.
Big Bird watches.
The enchanted oak forest
Leaves in water.
The tin men back in Creel wear ads for various metal shops. The drummer moves in Creel's winds. Creel is almost 8000' high, just West of the Continental Divide.
"Hospital for the hangover" by the RR Station in Creel
I was delayed 12 hous in Cuahtemoc.
Crippled man sells in the street by the plaza.
The Ciuahtemoc plaza gazebo.
Another fine sunset as I got back to Denver area.
More iridescent clouds the first day back in Boulder!
And a fine sunset later that day...


text:
I'm working on a blog: http://dava-il.org
Everything seems to be working fine but when someone tries to comment it gives the following message:
Not Found
The requested URL /var/www/vhosts/dava-il.org/httpdocs/wordpress/^http://184.108.40.206/$ was not found on this server.
I looked around but the best I could find were some posts about editing the .htaccess file from 2 years ago. I tried following the instructions on those posts and it didn't work. The best I was able to achieve was getting a 500 error message instead.
Does anyone know how to resolve this issue? I'm using version 2.5.
Thanks in advance for any help!


text:
Southern California Home Prices Up As Sales DipHome prices are way up, and that may be the reason why the number of home sales has slowed in Southern California.
Real Estate Broker Gets Lots Of Attention With Eye-Opening Ad Mentioning Donald Trump "Leaving the country if TRUMP is elected PRESIDENT? Give us a call and LET's GET YOUR HOME SOLD!!!"
'Worst Home In Best Neighborhood' Listed For $475,000 Already Has 5 Offers
California Home Sales Surge In December, Capping Strong YearA research firm says California home sales surged in December, capping a year of steady sales growth and modest price gains.
When Is The Right Time To Buy A Home? It Depends On Many FactorsIt's a question every prospective homeowner asks at one point or another. When is the right time to buy?
Housing Market Growth Slowed By Inventory Shortage, Steep PricesCalifornia's housing market is looking better in 2016, but may be hampered by a continued shortage of homes on the market and pricey inventory, according to a forecast from the California Association of Realtors.
Pending Home Sales Up, But Survey Signals Decline In Real Estate ActivityPending home sales in California soared in July compared to the previous year, posting the strongest year-over-year increase in more than six years, an industry trade group reported Monday.
California Home Sales At 9-Year HighSales of California homes remained robust in July, with the number of houses and condos sold hitting a nine-year high for the second month in a row, a research firm reported Wednesday.
Survey: California Real Estate Boom UnderwayA survey released Wednesday says a real estate boom is underway in California, fueled by rising demand from the business community and a shortage of multi-family housing.
Real Estate Goes Boom! Home Sales, Prices Are Up Around SouthlandTara Wells listed her Van Nuys home on July 5. Within days she was in escrow.
California Home Sales Surge In June On Strong EconomyA research firm says California home sales surged last month on a strong economy and low interest rates as prices reached fresh 7-year highs.
California Home Sales, Prices Continue To RiseCalifornia home sales are continuing to rise and so are prices, especially in the San Francisco Bay Area, thanks to job growth and low mortgage rates and despite tight supply.


text:
20 Jan 2009 5:59 AM #1
ExtJS based survey application
www.surveylogistics.com -- ExtJS based survey application
surveylogistics is a web based application to create, distribute and analyze surveys
Features in the initial release are:
-- create and organize survey, survey templates.
-- Customize the look and feel of surveys
-- internationalization of surveys
-- skip logic, branching, piping within surveys
-- Randomize survey pages, questions and answers
-- ip and cookie based restriction, quotas and other features
-- built in email manager
-- integrated contact management application
-- file management to manage and logos and embed images into surveys
-- multi-user system with ability to manage permissions, roles and accounts.
-- reporting features including filtering of responses, geo-coding responses etc.
Some of the upcoming features in the next few months include better analytical reporting (Cross tabulation of responses, T.U.R.F analysis and conjoint analysis) of survey responses, sales force integration and web-services.
You can sign up and try out for free!
20 Jan 2009 7:06 AM #2
- Join Date
- Mar 2007
- Location
- Notts/Redwood City
- Posts
- 30,604
- Vote Rating
- 58
Can you show us screenshots? Or is there a demo? Let us see some Extness!Search the forum: http://www.google.com/coop/cse?cx=01...%3Az7of1ufqccu
Read the docs too: http://extjs.com/deploy/dev/docs/
Scope: http://extjs.com/forum/showthread.ph...642#post257642
20 Jan 2009 8:06 AM #3
20 Jan 2009 6:16 PM #4
- Join Date
- Mar 2007
- Location
- Melbourne, Australia (aka GMT+10)
- Posts
- 1,093
- Vote Rating
- 56
nice app... well done. :-)Lead Trainer / Sencha Specialist
Community And Learning Systems
Lead Architect
3 Feb 2009 11:13 AM #5
9 Jul 2010 12:51 AM #6
31 Mar 2012 4:44 PM #7
Link not working
I"m trying to access the link above but it is not working. any other survey application built in EXTJS that you are aware of?
5 Apr 2012 6:46 AM #8
I wrote one quite a long time ago on Ext 3. It was actually a last minute entry for the Best of ColdFusion 9 contest way back... but the code is available on github.
Screenshots at http://postit.riaforge.org/
Code at https://github.com/coreybutler/postit


text:
We are located at 5 West Swain Road in Stockton, California and are a congregation of the Christian Church (Disciples of Christ.) We are also a member of the Northern California-Nevada Region of Disciples Churches.
"Turned off" to religion, but not to God? At Mayfair, it's not about religion; it's about relationship -- with God and with one another.
We celebrate the freedom of individual conscience while at the same time recognizing that meaningful life journeys happen best in community.
We believe that the love of God is open to all persons without regard to race, color, religion, sex, national origin, sexual orientation, age, disability, or any other characteristic protected by God, the law, or good sense. God love you and wants the best for you.
If you're looking to reignite your spiritual life,
come find out what God has in store for you at Mayfair.
Copyright 2013-Mayfair Christian Church
5 West Swain Road
Stockton, CA 95207
Web Designer - Mava Wolford


text:
The Annual Ladies Windup Party is being held on Wednesday April 1 starting at 7:00 pm. Appetizers will be served and each team is asked to please bring a dessert. Beryl Cook and her Tuesday Ladies team have a great event planned and they even have door prizes. This event is open to all […]
Drop In Curling
Come join for drop in curling. Great for beginners. Dates: Dec. 5, 12, 19 Cost: $10 Time: 6:15pm-9:00pm Lessons start at 6:30pm sharp (no late entries allowed),… [more]
Curling Rocks!
The hottest game on ice!! Full of fun, friends and fantastic shots you can't go wrong. Keep an eye on our website for fun new leagues, clinics, spiels and social… [more]
Lounge Rentals!
… [more]
The Cloverdale Curling Club (formerly known as Valley Curling Club) has been home to the sport of curling in Cloverdale since 1954. Cloverdale Curling Club is located in the Cloverdale area of the City of Surrey on Highway 15 (176 Street) just north of the Cloverdale Arena.
Annual Ladies Windup Party
Region 11 Tour Bonspiel
The Region 11 Tour Bonspiel is happening at the club this weekend. We have 3 of our local teams participating so come on down and cheer them on. Teams are skipped by Don Chaloner (Thursday Men), Bob Lederer (Tuesday Men), Stu Harris (Tuesday Men). Draw times are Friday 6:45 & 9:00 pm, Saturday 10:00 am, […]
Club Champions!
Congratulations to the Cloverdale Curling Club's 2014/ 2015 Club Champions! Men's Division – Stu Harris, Dean Lunn, Todd O'Dell, Gary Olson Woman's Division – Leanne Andrews, Jenn Gay, Kim Mclandress, Philippa Johnson Make sure to go cheer them on at the Mainland Club Challenge at the Richmond Curling Centre, April 10-12, 2015!!
Last Saturday Drop In!
This Saturday is the last Saturday Night Drop In session of the season. Come on down and bring your friends. We have instruction for beginners and 6 sheets of ice all ready for games. Saturday March 7, 2015 Start time: 6:15pm $10.00/person First come, first serve max of 48 people. Register groups: 604-574-4483
Saturday Drop In! LAST ONE!
Don't miss tomorrow night's last Saturday drop in before the ice comes out for the season! Starts at 6:15pm, $10/person, includes 30 min of instruction and 2 hours of ice time for a game.