- Search & Find
- Use the Library
- Research Support
- Course Support
The Ilios project is investigating a migration to Ember.js. Because we have a lot of PHP experience and a lot of PHP code, it makes sense to serve the content using Symfony. We chose Ember.js because of its convention over configuration approach and wanted to make as few customizations as possible.
However we wanted separate templates and routers in different files. This required pre-compiling the templates for Ember. Thankfully there is a Node.js application for doing this already called ember-precompile.
It is even supported in the latest version of Assetic. However AsseticBundle hasn’t been updated in a while, so we had to mess with the Composer definition to get this working. The Assetic compiler will fail silently if you don’t have ember-precompile installed in /usr/bin/ember-precompile. Hopefully a fix for that will be available soon.Testing the API
We want test coverage for our API, but actually getting the right input proved to be a bit complicated. There is a demo controller test and a base test in the AcmeApiBundle in this distribution. You can use it as a starting point to make writing other tests easier.JS Dependencies
We use Bower to install all of our dependencies, include them in the layout, and manage their version without checking the code into our repo.
None of this would have been possible without:
Tomorrow, August 2, the Collaborative Learning Environment (CLE) will undergo an update as detailed in last month’s blog post, Announcing the CLE Refresh! The CLE will be unavailable on Saturday, August 2, from 6 AM – 2 PM (PDT) to complete the upgrade to Moodle 2.6 (the original upgrade date was scheduled for July 26).
Here are just a few improvements to look forward to with the refresh:
A New Look and Feel: You will immediately notice the new CLE theme when logging in August 2 after 2pm. Take a look around and notice the new CLE Home Page – with quick access to your CLE courses and support resources.
Mobile Friendly: The CLE is now mobile friendly! Try visiting your summer or fall courses using your mobile device. The CLE will now scale to fit the device of your choosing!
10 Notable Features as Explained by Sean Gabriel McClelland: Last month’s blog post included Sean Gabriel McClelland’s Top 10 New Features: Summer 2014. Check it out and contact LTG or post a comment below if you have any of your own additions for this list!
Of course we will identify more new features as the UCSF community begins to explore the refreshed CLE. In the meantime, LTG is here to help!
Image Credit: “Refresh” designed by Andrew Lynne from the Noun Project.
Image Credit: Moodle Trust
A new generation of citation/reference management applications are making it easier to share references and text with colleagues. This is the first of a series of posts looking at some of the most popular ones.
Of all current reference managers Mendeley probably stands out as a collaboration tool for researchers. Mendeley is a desktop and web program for managing and sharing research papers and discovering research data. Its social networking features facilitates collaboration among researchers through the creation of groups which allow you to collaborate with any member of the Mendeley community. In private groups, you may share and annotate a list of documents within your PDF organizer, allowing you to collaboratively tag and annotate research papers. In public groups, you may create a reading list with your colleagues and make it accessible to anyone on the web. Groups now also have an activity feed on Mendeley Web and in Mendeley Desktop, helping you stay up to date on new additions and discussions within the group.
View this short online tutorial explaining how to utilize Mendeley groups for collaboration:
Your smartphone might be the most powerful portable computer you own. It can also contain a lot of personal information. With photos, financial apps, passwords, and email stored on the device, a lost or stolen phone in the wrong hands can be catastrophic.
With smartphone thefts on the rise, it’s no wonder that the FCC recommends that you set up password security on your phone, yet one third of all U.S. users still do not have a four digit PIN lock. If your phone does ever fall into the wrong hands, encrypting your phone this way will add a layer of security.Do It Now
Before making any upgrades on your phone, it is best to back up all the data on your device. Your contacts, documents, and photos can be synced and stored on your computer through your iTunes or Android software.
All iPhones 3GS and later, and all iPad models have hardware encryption, so protecting your iPhone or iPad (iOS) is simply a matter of turning on your passcode through the Settings > General > Passcode Lock.
Encrypting an Android device requires a little more effort and is done through Settings > Security. You can also encrypt your SD card from this menu, if you have one. Note that this process might require an hour or more to fully encrypt your device, so be sure it is fully charged or plugged in. Once your Android device has finished encrypting, remember to power off and restart your phone for the changes to take effect. If you want a higher level of Android security, you can install encryption software like SecureMe, which uses a military-grade algorithm that can encrypt and hide individual notes, photos, and messages.The Bottom Line
The reality is that a growing number of organizations are now requiring that mobile devices be encrypted before allowing access to their email systems. Even if you are not required to do it, neglecting to encrypt exposes your personal information to unnecessary risk. As I’ve outlined, encrypting your mobile devices is a fairly simple process and once completed will provide a crucial layer of security, in case your phone is ever lost or stolen.
Today’s smartphones carry an unprecedented amount of personal information. Not just contacts and email, but web history, social network applications, cloud storage, photos, financial applications and more are at risk, if your phone is lost or stolen. Add integration with your work servers (e.g. email, contacts, remote desktop) and your phone becomes a potential risk for leaking business information as well.
Cellphone theft is sharply on the rise, and Consumer Reports estimates from its national survey that 3.1 million Americans were victims of smartphone theft in 2013. With the likelihood of cellphone theft rising, alongside the ever-growing amount of data these devices store, the time couldn’t be better to take steps to protect yourself.
Legislation is moving forward in California which would require cell phones sold in the state to come equipped with theft-deterring technology, commonly referred to as a “kill switch.” Minnesota already has a law in place slated to require this technology on any smartphone manufactured and sold after July 1st, 2015. Kill switch technology would empower a smartphone owner to remotely disable and wipe the device. A major feature release in Apple’s iOS 7 in 2013 was “Activation Lock,” a typical kill switch feature that implemented lock and wipe functionality. In the first five months of 2014, thefts of iPhones in San Francisco dropped 38%, in New York by 19%, and London by 24% compared to the previous year. Proponents of mandating this technology argue that it dis-incentivizes would-be thieves and gives users peace of mind.
The good news for iPhone and Android users is that you don’t have to wait for the mandate! The sections below outline Apple’s offering for iPhone, Google’s offering for Android, and my personal favorite for Android.Apple’s Activation Lock
Activation Lock requires an iCloud account to remotely manage your phone. Activation Lock works on iPhone, iPad, and iPod Touch devices running iOS 7 or later. Like other iCloud services, you’ll need an Apple ID to use the feature, but chances are you already have one if you own an Apple Device. More information about Apple ID can be accessed here.
Activation Lock is set up automatically, when you enable Find My Phone on your iOS 7 device. To do so, follow these steps on your iPhone or iPad:
Lost Mode is a great option included with Find My Phone. Login at iCloud.com/find and activate Lost Mode on your iOS device if you think it may be lost or stolen. Set an optional custom message (e.g. “Hey! You found Ben’s phone! Please call his roommate at 555-123-4567 and he will reward your handsomely”). Lost Mode protects your phone with a four digit passcode. Even if you wipe your device, your custom message and lockscreen will remain active, preventing unauthorized users from using your device.
You can find more information about Activation Lock and Find My Phone here.Google’s Android Device Manager
Android Device Manager is Google’s implementation of kill switch technology for the Android platform. To use Android Device Manager, you’ll need to have already connected a Google account to your tablet or phone.
Follow these steps to set up Android Device Manager on your Android tablet or phone.
From the Android Device Manager webpage you can locate your device in Google Maps, lock it with password and optional alert message, erase data, and send a ring command. For the location feature to work properly on Android 4.1 or higher, you’ll need to have location access enabled. You can define location access settings to employ any combination of GPS, cell tower, and wireless access point information to determine your device’s location. Note that GPS is more accurate, but will negatively affect battery life.AndroidLost –– like Android Device Manager, but better.
AndroidLost is a feature-rich kill switch application for Android users. It can be installed alongside Android Device Manager and has some additional functionality you may desire. Like Android Device Manager, it also requires a Google account to be setup on your device.
In addition to erasing data, setting a password lock, and sending ring commands from a webpage, AndroidLost allows you to remotely take photographs and audio recordings with your device’s camera and microphone, fetch call list and SMS logs, set a custom alarm, back up photos, start a phone call, and more.
Unlike Apple and Google solutions, you can also send all these commands to AndroidLost via text message from another phone (at your approval, of course.) You could, for instance, send the text message “androidlost alarm 60″ and your phone would sound an alarm for 60 seconds. Or you might send the “androidlost erasesdcard” command in a text message in dire circumstances to keep your phone operational, but wipe the contents of the SD card. Sending these commands from a trusted phone might be useful if you are unable to access a computer after losing your device.
Another great feature is being able to remotely turn on and off the GPS. To save battery life, I keep my location access disabled on my Samsung smartphone unless I’m using Navigation features. It is very likely that if I lost my phone I would be unable to locate it using Android Device Manager. Using AndroidLost, I could enable location access on my lost phone and begin tracking it.
AndroidLost’s website is a bit lackluster and the software is still technically in beta, but the majority of features and commands are available free-of-charge. With that price tag, and the ability to run it in-tandem with Android Device Manager, AndroidLost is a great tool to consider including when setting up your phone or tablet.Secure your AppleID and Google Account
While all three options above can help protect your data, they all come with the risk that persons with unauthorized access to your AppleID or Google account password could also remotely wipe or lock your device. Whatever application you decide to implement for your device, you must protect the account that can authorize the kill switch with a strong, secure, unique password.
Another consideration is two-step authentication. Two-step –– also known as two-factor –– authentication is an excellent way to keep your important accounts secured. The first factor is a username and password (something you know,) while the second factor will oftentimes be a one-time code (sent to something you have, like a phone.) This second step is an added layer of security that can prevent unauthorized access, even in the event that your password is compromised. It is becoming more common that the second factor is delivered to our smartphones. Your AppleID sends a 4-digit code to your phone as a second authentication factor, while your Google Account uses an Android application called Google Authenticator to generate codes.
If you do use Apple or Google’s two-step authentication, and you lose your device, logging into iCloud or Google Device Manager to manage your device will be more complicated. Apple users should refer to the frequently asked questions for two-step verification and read up on the 14 digit recovery key you should save. Google users similarly can employ backup codes to login to accounts and manage devices.Be Ready to Report
Lastly, the Federal Communications Commission (FCC for short) has a list of guidelines and recommendations on how to safeguard yourself against wireless theft. A great tip they offer is to document your device’s make, model, serial number, and unique identifier (either the International Mobile Equipment Identifier (IMEI) or the Mobile Equipment Identifier (MEID) number.) You can give this information to police when you generate an official report, and it could be helpful in identifying your device if it is recovered. The FCC also has a useful list of carrier contact information that you can consult to report lost or stolen devices.
We hope you will never need to remotely wipe your device or report it stolen –– but an ounce of prevention is worth a pound of cure. Take a few steps to prepare for the worst, and you can rest easy.
In this post, I’m following up on my previous reviews of task management apps with another look at Any.do. When I last looked at task management apps, I was committed to using Google Tasks, and I concluded that the GTasks app offered me the best mobile experience (as Google doesn’t offer a mobile app for Tasks). Although I had seen great reviews of Any.do and liked its clean design and gesture-based interface, I didn’t want to order my task list using loose deadlines like This Week and Later. I also noticed that Google Tasks did not always sync reliably with Any.do.
Also, at that time there was no web interface for Any.do, and I wasn’t consistently using Chrome (there was and still is a browser extension for Chrome). Recently, the Any.do web app was finally released. In general, the web interface works well. It looks as nice as the mobile app and just feels like a logical extension of it:
Since I’ve already been using the Any.do app on my phone, the time seems right to revisit Any.do for Mobilized.Changing Needs
Since my last look at task management apps, my needs evolved somewhat. These changes left me less committed to Google Tasks and more willing to experiment with Any.do:
I started using Any.do on my Android phone (without syncing with Google Tasks) because my Google Tasks list had begun to feel long and unmanageable. Any.do provided an easy way to organize tasks for the next few days. I organically began using Any.do for casual tasks that weren’t urgent, and Google Tasks for items with firm, important deadlines.
Any.do has been great for quickly creating tasks using my phone. It offers the ability to create tasks using predictive text and speech recognition. I like the fact that it can automatically add a reminder to return a missed call. You can also create a task in email by emailing firstname.lastname@example.org.
I began to see the benefit of Any.do’s organization scheme — Today, Tomorrow, Upcoming, and Someday (Someday contains all tasks that don’t have an assigned date). These simplified categories help me set goals for what I want to accomplish, but if all of today’s tasks don’t get done today, Any.do automatically pushes them to the next day — no need to spend time entering new deadlines.
In both the phone and web app, Any.do also makes it easy to drag tasks from one date to another, and to put them in any order you like within that deadline group.
The Any.do Moment feature, which can be disabled or set to occur only on certain days of the week, reminds you once a day to spend a minute organizing your to-do list. I think this helps overcome one of the biggest hurdles to success with a task management app — simply remembering to use it.
Any.do makes it easy to 1) create a manageable list of things to get done in the next few days, 2) revisit your task list each day, and 3) postpone tasks without too much guilt (this may be a pro or a con, depending on your style). The minimal design with generously sized type, and the pleasant reminder chime makes it a joy to use — most of the time. I do have a few issues with Any.do.Issues with Any.do
When adding a sub-task (“note”) in the web app, it’s strange that you have to hit both Return and then Save to save the note.
But these are minor complaints. My main issue is still that Any.do doesn’t sync reliably or automatically with Google Tasks, and I’m not ready to totally give up on Google Tasks. I tried syncing the two and at first didn’t see any problems, but after multiple syncs, I ended up with many duplicate tasks, garbled notes, and strange due dates (e.g., 1969). This issue keeps me from going with Any.do as my sole task management app.The Bottom Line
Any.do works really well for me for keeping track of tasks coming up in the next few days, especially when I want to create a list of simple tasks while on the go. It’s great for quickly adding tasks like errands, chores, and phone calls. The Someday category, which holds all tasks without a deadline, is a good hold-all for non-critical tasks that I don’t want to forget. But when I want to schedule something with a firm deadline, especially if it’s a few weeks off, I still find it best to enter that task in Google Tasks — and sync it to mobile using either the Tasks or GTasks app.
If you’re not using Google Tasks, and you don’t have a lot of mid-range deadlines to keep track of, Any.do may be the task management solution for you.
Any.do Moment screenshot by Nicole Cozma/CNET.
In the previous post, we were introduced to Dr. Daniel Lowenstein and his “Last Lecture” presentation, which was both powerful and inspiring. Shortly after writing the post, Dr. Lowenstein contacted me, and we had an interesting discussion about his experience preparing for, and delivering that presentation.
I have always wanted to incorporate the voices of the instructors, students, and staff at UCSF, who work in the trenches and present or attend presentations on a daily basis. This post marks the beginning of a new series that will feature interviews of those people. I hope you enjoy the first episode of “5 Questions!”
5 Questions with Dr. Lowenstein
Bonus track: The Basement People
If you have any ideas about who the next 5 Questions interviewee should be, please contact me or leave your ideas in the comments section below.
Powerful. Inspirational. Emotionally moving.
Those are the words that best describe Dr. Daniel Lowenstein’s “The Last Lecture” presentation, delivered to a packed house in Cole Hall on April 25th. The Last Lecture is an annual lecture series hosted by a UCSF professional school government group (and inspired by the original last lecture), in which the presenter is hand-picked by students and asked to respond to the question, ”If you had but one lecture to give, what would you say?” Dr. Daniel Lowenstein, epilepsy specialist and director of the UCSF Epilepsy Center, did not disappoint. In fact, I can say with confidence that he delivered one of the best presentations that I have attended.
Rather than attempt to paraphrase his words, or provide a Cliff Notes version that doesn’t do his presentation justice, I will instead encourage you to watch the video recording of his presentation. The video is an hour in length, and if you have any interest in becoming a better presenter yourself, it is a must-watch. After the jump, we’ll explore my top “top 5 lessons learned” from Dr. Lowenstein’s presentation.
Last Lecture – Top 5 Lessons Learned:
To top it all off, Dr. Lowenstein spent the last few minutes of his presentation reviewing each of the 4 segments of his talk, and then related it all back to a single, clear message. That, my friends, is an example of storytelling 101, so I hope you were talking notes!
Continue on to part 2 of this post, where I interview Dr. Lowenstein about his experiences preparing for and delivering the Last Lecture presentation!
If you also found inspiration in Dr. Lowenstein’s presentation, please share your thoughts below, and I’ll see you at next year’s “Last Lecturer” event.