Jump to content

Graham Quince

Administrators
  • Posts

    2,048
  • Joined

  • Last visited

Everything posted by Graham Quince

  1. You weren't the only ones, this week alone I've had requests from 3 other schools. Plus, once I got you started you did most of it yourself, which gave me the idea to share it as a tutorial.
  2. Lots of you have been asking for a way to get custom, personalised data to display inside Frog. While we're looking at different development solutions, this is an approach I have been using successfully with a few schools. NOTE: Thanks to the FrogCode widget, you can now upload data into a form in Frog. This is probably a simpler solution (and more importantly can provide data security) than the one outlined below. https://schools.frogeducation.com/community/frogcode/frogcode-showcase/data2form NOTE about this solution All the data is loaded into the browser. While not easily found, it is there for someone who knows what they are doing. It cannot be stressed enough that if you have any concerns about the contents of this data you should not use this method below. SIMS schools with FrogParent can use the Linked Documents tool to publish reports which are only available to the individuals involved. Step 1 - Wrangling your data Frog's API can be used to identify the logged in user. We need to provide our data in a format which places one of the common identifiers first. Common identifiers: UUID (Frog's own ID) UPN Roll Number (MIS ID) Username The first thing you have to ensure is that your data contains one of these fields. The rest of this guide is going to focus on Roll Number as this is element to requires an extra step to extract. Open your spreadsheet program of choice, MS Excel for instance. In this example, we have a parents evening list. Each child as a separate time slot and note the roll no. column. Next we're going to use Excel's formula to reformat our data. In a new sheet, copy the formula into the top-left cell: ="'"&Sheet1!D2&"':{'time':'"&TEXT(Sheet1!A2,"HH:mm AM/PM")&"','date':'"&TEXT(Sheet1!B2,"mm/dd/yyyy")&"','room':'"&Sheet1!C2&"','regclass':'"&Sheet1!G2&"','surname':'"&Sheet1!E2&"','firstname':'"&Sheet1!F2&"'}," This formula might look intimidating, but it's actually quite simple: = - opens the formula function "'" - double quotes " are used in Excel to accept plain text. We then use a single quote ' inside there & - is Excel's addition. So we have ' and then we add the contents of Sheet1!D2 to it "':{'time':'" - this closes off our first single ' and then gets ready the first value, in this case time, TEXT(Sheet1!A2,"HH:mm AM/PM") - points us to Sheet1!A2, where the time value is, but to ensure Excel does not give us just a number, we force it to stay in a time format. And the rest of the row is built up in the same way. Once completed, our row looks like: '123456':{'time':'06:00 PM','date':'16th June','room':'Main Hall','regclass':'1st','surname':'Hartnell','firstname':'William'}, Where 123456 is William's roll number. Drag this cell down, to replicate the contents for each row. Step 2 - Displaying your data Create your site and add an HTML widget. Paste in this code: <div class="Greeting widget_text" style="font-size:16px;"> </div> <div class="Time widget_text" style="font-size:16px;">Time: </div> <div class="Date widget_text" style="font-size:16px;">Date: </div> <div class="Room widget_text" style="font-size:16px;">Room: </div> <script> var myData = { /////// PASTE FROM HERE ///// '123456':{'time':'06:00 PM','date':'16th June','room':'Main Hall','regclass':'1st','surname':'Hartnell','firstname':'William'}, /////// PASTE TO HERE - DELETE THE LAST COMMA!!!!!!! ///// } var user = FrogOS ? FrogOS.getUser() : this.getUser(); if (user.profile.type == "admin") { user.uuid = "D123443432435435454354354"; // Student UUID } if (user.profile.type == "parent") { Frog.Model.api('users.getChildren').done(function(parentResponse) { var children = parentResponse.data; $.each(children, function(index,child) { getAppointment(child.uuid,child.displayname,'parent'); }) }); } else { getAppointment(user.uuid,user.displayname,'child'); } function getAppointment(childUUID,childName,view) { var self = this; Frog.Model.api('users.getDataInCategory', { user_uuid: childUUID, uuid: '789F77FF2004CA84FA300F17417DDB0890FECF0CD03FC350' // Users category UUID }).done(function(listResponse) { var roll_number = listResponse.data.fields[0].value; if (view == 'parent') { $('.Greeting').append(myData[roll_number].firstname+"'s appointment is at:"); } else { $('.Greeting').append("Your appointment detaiils:"); } $('.Time').append(myData[roll_number].time); $('.Date').append(myData[roll_number].data); $('.Room').append(myData[roll_number].room); }); } </script> Add the rows from Excel in the ///////////////// space Make sure to delete the last comma on the last row What this code is doing: var user = FrogOS ? FrogOS.getUser() : this.getUser(); - gets the currently logged in user if (user.profile.type == "admin") { - if the user is an Admin, use a student's Frog ID to test the system if (user.profile.type == "parent") { - if the user is a Parent, use Frog's getChildren API to identify and list their children. getAppointment(user.uuid,user.displayname,'child'); - runs a function, passing it the user's UUID, their displayname and if they are a child or parent. For parents this will run for each child. Frog.Model.api('users.getDataInCategory', { - Frog's API to get the information displayed in the Users' App, under the Additional Information category uuid: '789F77FF2004CA84FA300F17417DDB0890FECF0CD03FC350' // Users category UUID - this is different in each school. To get this UUID, do the follow: Open the browser's developer console and switch to the network tab. Open the Users App Search for a student and click on their name Use this logo to clear the information in the Network Tab In Users, Click on Additional Information A line of text, beginning with ?method=users.getDataInCategory appears in the network area. This is the API call. Click on Preview and expand the params section Copy this UUID and paste replace the Users Category UUID with it. var roll_number = listResponse.data.fields[0].value; - this line retrieves the student's roll number, which we can now use to identify the row of data in the object we created earlier. $('.Time').append(myData[roll_number].time); - The first element identifies the DIV we created at the very top of the code. We then append the corresponding information into that DIV based on the roll number. ANOTHER NOTE Student UPNs are available in FrogOS ? FrogOS.getUser() : this.getUser(); as user.pupil_number (also username as user.username), so you can use a cut down version of the getAppointment function: function getAppointment(childUPN,childName,view) { if (view == 'parent') { $('.Greeting').append(myData[childUPN].firstname+"'s appointment is at:"); } else { $('.Greeting').append("Your appointment detaiils:"); } $('.Time').append(myData[childUPN].time); $('.Date').append(myData[childUPN].data); $('.Room').append(myData[childUPN].room); } AND YET ANOTHER It's worth checking your code with a tool likehttps://esprima.org/demo/validate.html This is check for errors and breaks. O'Brien and similar names will need to have their ' replaced. Make sure you delete the last comma from your Excel code. FINAL REMINDER Use with caution regarding personal data. I'm not going to demonstrate in this tutorial where exactly you can find the data, but it is there.
  3. There's no limit, so it should show them all. If notifications are stopping it might be the text of one has broken the code. Happy to take a look.
  4. Hi @Sean_M, Our systems team have corrected the issue. Hopefully it should all be working for you now Graham
  5. Hi @Sean_M Unfortunately there appears to be an error in the Timelines database. I'll need to create a ticket for you and have a developer take a look. Graham
  6. oh no! i know we're speaking later, maybe you can show me then
  7. Ah, can you try again. Updated the widget - it wasn't the latest version
  8. Based on requests from several schools and built with Tollbar Trust, My Notifications allows you to created a filtered list of just the Frog Notifications you are interested in. https://www.frogeducation.com/community/frogcode/frogcode-showcase/mynotifications There is a second widget on the page, which if included on an ePortfolio will send a notification to the ePortfolio recipient to let them know. The notification uses the FDP to send the message - which might require enabling in Groups and Policies Pressing the button sends a generic.generic notification to the user, but the My Notifications widget can interpret this into a message and link. UPDATE Just letting you know that we spotted a bug in this widget yesterday. A really simple fix, but it's probably worth updating. The download link is updated.
  9. Graham Quince

    Messaging

    Hi @deanmoulder Within the phone's settings there will be a permission tag you might need to toggle. When you open the app for the very first time, you will have been prompted to allow notifications. Regarding the message not sending - that doesn't sound right. Would you like me to create a ticket for you so the Service Desk can investigate?
  10. Still “skiving” but stuck with time to kill in a car park.
  11. That’s right. If you take a look at @pconkie’s multi file upload widget, it looks more like shared folders than the file drop widget: https://www.frogeducation.com/community/frogcode/frogcode-showcase/multifileupload Probably the same solution for this too.
  12. Hi all, I've been asked by a school for examples of others using Frog for IAUPs and Safeguarding - using a form or question tool. Is there anyone happy for me to pass their contact details to the school so they can ask a few questions?
  13. We are aware of this issue, it's to do with 3rd Party Cookies, which users can choose to have their browser block. We have a page on the Community you can share with pupils: https://www.frogeducation.com/community/training/mini-guides/cookiesissue And here's an image to help you share the link with students:
  14. While you can manually edit each student account to add a photo this can take some time. In response to requests and working with schools we have created a method to make it easy to bulk upload of student photos. You will need to organise the collation of student photos, as well as ensuring that the photo of each student matches their roll number recorded in the MIS (Management Information System). Typically photos can be provided from your school photographer with each image named for the MIS roll number. For example, the student Tracy Rauch has a roll number in the MIS of 191810. Therefore, the student photo for Tracy Rauch will need to be named 191810.jpg. NOTE – It is recommended that the student photos are set to 200px in size. Once the student photos are collated place them in a location accessible to Frog, it is probably best to upload these to the Frog platform and note the location. Contact the Service Desk on 01422 395 939 or servicedesk@frogeducation.com who can facilitate next steps in uploading the student photos. After the Service Desk have completed the upload of student photos, when you navigate to the Users application and search for the student, the overview will show a thumbnail of the newly uploaded image. Select the student account, e.g. Tracy Rauch, and the Basic Information page will display the newly uploaded student photo. Getting the file names to in the right format Typically the school photographer will have named the photos as in the above example (e.g. 191810.jpg) but if you do not have access to the original files, it is possible to use 3rd party software from SalamanderSoft to export these pictures directly from SIMS. https://www.salamandersoft.co.uk/free-utilities/sims-photo-exporter/ We are not affiliated with SalamanderSoft, all the usual disclaimers apply with 3rd party software.
  15. Hi @pdurber One word of caution - while you can create all these users via CSV, they will have new accounts created in the next academic year from the MIS import. If these users are creating any work, having any assignments set etc.. then these will be attached to the manually created accounts. You can switch the MIS tag from the MIS imported accounts to the CSV imported ones, but it's on an individual basis in the users app.
  16. Oops - fixed. Wait for tomorrow to download it.
  17. Graham Quince

    Feedback

    Hi @Hardeep I've replied on your other post, but we've also created a ticket for you on the helpdesk - so that we can follow up with you about this.
  18. Hi @Hardeep Unfortunately you cannot send files back to students. I have been working with a few schools to use ePortfolios as a way of working on longer tasks and for students to be able to ask further questions. The schools have been using the assignment system to set tasks and then using the eportfolio for more in-depth back-and-forth. If you would like I can set up a call and show you what I mean. Graham
  19. Hi @Hardeep Unfortunately there isn't a programmed report to show that. You do need to click into each student in the assignment list to view that. You can return the homework to them, using the Reattempt assignment button. Apologies for the delay in responding. Graham
  20. Hi - apologies that no one else has responded yet. When you set up an email address, Frog will attempt to send you an email to verify your account. You may need to check your junk mail folder, in case it is in there. Kind regards Graham
  21. @gbligh It's ready: https://www.frogeducation.com/community/frogcode/frogcode-showcase/link-to-page-lozenge
  22. This widget allows you to link to a page on the same site, and the page link looks like a site link or link to external website lozenge. If the page you are linking to has an icon, this will be loaded, unless you choose to upload your own. I haven't spotted one issue: if the page has an icon, but it is not being used by the theme, the site seems to freeze and the widget doesn't work - so don't do that. https://www.frogeducation.com/community/frogcode/frogcode-showcase/link-to-page-lozenge
  23. This is a widget which can show you how many assignments are due on a particular date for each student in a group and lists all the unopened assignments. https://www.frogeducation.com/community/frogcode/frogcode-showcase/assignment-open-report I know @adamw has also created a similar-ish widget which gives similar information in a different way and I think @pconkie has something too. I'll use the page linked above to list all their downloads when ready.
  24. Sorry, not had a chance to watch the video
  25. Hi @pconkie Just to check, are you saying there is a widget I can grab? And if so, what's it called? Cheers, Graham
×
×
  • Create New...