Jump to content

Graham Quince

  • Content Count

  • Joined

  • Last visited

Everything posted by Graham Quince

  1. Hi @pconkie We're aware of the issue, I'll create a ticket for you and link you to it. Graham
  2. Hi Paul, Currently the only way to set work for these groups will be to make duplicates of them in Groups and Policies. This will have them appear in the searches again. Graham
  3. I've just heard back from the team: I'm asking if there is a way to undo or restore.
  4. I think Adrian might be right. The Year 13 group is MIS linked, but there are no members in it and most of the Year 13 classes have lost their MIS tick. I can create a ticket for the team to look into this for you, but it might be worth checking what's happening in SIMS.
  5. Hi @pconkie I am aware of one minor issue with the app, in which if My Child app access is not activated for parents in Groups and Policies, then the assignments and My Child section would not show up. However I have checked Backwell's settings and you do have this activated. Please can you email or DM me a parent account I can try on your system and I'll see if I can spot the problem. Has the parent updated to the latest version of the app? I have my phone set to automatically update, but I know my wife doesn't. With the introduction of the new My Child, My Class and My Learning tools we have had to update the app to match functionality. Graham
  6. ePortfolios.... are available. Look at it this way, Frog has two solutions. One is labour intensive, but "at no extra cost", but if your time is is factored in as cost, then we have module available to do a big chunk of the work for you.
  7. Yes - this widget does display to students, and the System Preferences controls visibility by user type:
  8. Hi @pdurber, There is a document type: "Statement of Results" in SIMS that can be extracted into FrogParent, I believe. There are embargoes for results, but it is possible to use System Preferences > MIS Importer > Document Permissions to set these to not display to parents.
  9. Hi @Pete Foulkes We have identified the issue, unfortunately it appears to be something we can activate for most schools, but not all. I am going to create a ticket in your name and log a Bug report so that you will be informed when it has been dealt with. Graham
  10. And of course, the bank of icons can be found here: https://www.frogeducation.com/digitalassets/icon-library
  11. Hi @Pete Foulkes Finally got to the bottom of this. It appears the Other profile was not included in the datastore code and cannot be set to use the datastore, so the Visitor Log will not record their entries. I'll flag this up with the Product Team and get it recorded as a bug.
  12. Hi George - the server i was building on had issues which went on for weeks. it's back now, I'm hoping to get time to look at it this week.
  13. Graham Quince

    Quick Launch

    You'll have to use the HTML I posted, but probably also need a Group search before it, as the HTML widget kicks in before Rules do
  14. Graham Quince

    Quick Launch

    Do you know what those are?
  15. Graham Quince

    Quick Launch

    As far as I know, when you edit a Quick Launch and remove a Global item (something limited to Admins) it removes for all. @Tom, @Matt - is that you're understanding?
  16. Graham Quince

    Quick Launch

    Hi George, The UX for the Quick Launch is a little confusing, but actually is based on access controlled by Groups and Policies. For instance, if you add Assignment Monitor as a Global link, it will only show up as a link for those individuals who have access to Assignment Monitor. Sites can be added via FrogDrive and again, will only show up for those who have access. The only time this doesn't apply is with Internet Links. But you can use the following CSS to hide these: <style> .lib_models_quick_launch_UUID_OF_LINK { display: none !important; } </style> Getting the UUID is a little tricky, as we're using right-click on the Quick Launch items to offer an open second instance option, but you can right-click in the space and choose Inspect, then move up through the code to find the list:
  17. Hi Pete - I'm trying to get an answer for you. It's probably a permission - but I'm struggling to find it at the moment
  18. This widget came from conversations with several schools asking about if it was possible to to make it easy to embed a video hosted on MS Stream. Stream videos all provide sharing links, so this widget takes the link and creates the embed code for you. It saves you having to share the HTML widget with teachers. https://www.frogeducation.com/community/frogcode/frogcode-showcase/ms-stream
  19. The British School of Milan asked us if it was possible to embed Padlet into Frog pages. Turns out Padlet do provide embed codes, so this was a simple widget to make. In editing mode, the widget includes pictures showing how to find the sharing information. https://www.frogeducation.com/community/frogcode/frogcode-showcase/padlet
  20. Forms and HTML widgets load into pages at different times, so while it might be possible to use an HTML widget to fill in a form, it was never advisable.... but I had a bit of a brain wave, what if there was an auto-populate button? <btn class="btn update">Update</btn> <script> var formUUID = "A177324620028A7AE4656F9A366E1506E020CAEC0FD54E71"; $(".update").click(function(){ $('div[data-content-uuid="'+formUUID+'"]').find('#A1773C3F2003F19E97E1FF73A16D15075DA8D53C48F8AF59').val("Does this work"); }); </script> This code targets the form, then the specific field. You could add multiple fields within the function and have a big chunk of the form get filled out for you. You could use a div superimposed above the form with the button on, so that users are forced to click it before they begin filling out the rest. There's a lot to unpack here, but as a hack/workaround I think its got potential.
  21. Now i'm really confused. Went to check both your version numbers and I can't see a navigation widget on Backwell's Frog. You do have a menu widget up to version 27. Is that your own @pconkie ?
  22. 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.
  23. 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: 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.
  24. 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.
  • Create New...