Skip to content

Sharing and consuming

Starring, RSS feeds and google drive.

I like to write about this because it helps me to understand it all at a deeper level.  Kinda like teaching or explaining things to people.  Simply by giving voice to something, you are forced to think more critically about it.  “Well, that does not sound so simple or clear, for example”.

I was in a general moodle help forum this am, just reading some of the posted questions, this also helps aid in overall deeper understanding of, since I am forcing my brain to look at things from another perspective…but I digress, and I noticed a RSS feed.  It was simple and clean and out of the way, but there it was right in the prime real estate – for people to subscribe to.  Let me explain that common scenario again.

Common RSS scenario

You are on the web looking at things, you come across a news, sports, political, you name it, topic.  The folks publishing those topics want to get their news to you.  You, the consumer, have to say “yes, i want your info shared with me”.  I used to say pushed to me, but in reality, its pulled for you.  You click on the RSS link icon and get a prompt that allows you to specify what reader you want to use to poll the feed.  Readers come in lots of flavors and size, perhaps the most common now are the web browser themselves.  You choose it, registering the feed URL with it.  Now, all you have to do is look at it, maybe open the reader and it will have already collected up to date data on the feed.  The reader probably has a setting or two where you can tell it how ofter to pull or check the feed for new stuff and an option or two on how you want to display it.

A 1 minute video explaining how to find the feed on the website page

AND then, the google drive share.  I have been working on and off in this concept really for a couple years.  I have talked with my wife about it, the cloud in general, sharing and paperless solutions in particular for longer.  Google drive, like dropbox and MS Drive are other document clouds that people share.  The general idea?  Stop saving files on someones hard drive, flash drive, zip drive or floppy disk, ok – that last one only lives in my mustle memory ;).

Google drive is a share space, Google docs is software to create the documents.  This was a communication that came across my desk today, and illustrates the push or reality of files in the cloud, even collaborative ones.  Someone is managing a conference that has lots of classes and they are trying to get monitors signed up for each one.  Now they have some of the courses covered and need to share that info. with people while trying to get the others covered, so – share an editable document.  Put the file in a sharable location with permissions allowing users to edit it, to write into it.  Now, in real time, you can have a document that is up to date without the need to send or push communications around for it.

Hello all,

We would love to have you volunteer as a Presider at the Annual NYSCATE conference.  You will help us tremendously while simply attending the sessions you want to attend and doing a few housekeeping items for NYSCATE.

Please use this link to see the sessions open to presiders:
https://docs.google.com/spreadsheets/d/1-3LUoZRPFJ1vKPb4ShVoDJTBS1bS48IrRoYp-fyqAQY/edit?usp=sharing

The tabs are located on the bottom left of the spreadsheet for the days (Sunday, Monday, Tuesday).  The sessions that have INSERT HERE  in the presider column are the sessions we need filled.  Simply write your name and email address in the presider column for the session(s) you’d like.

The document is shared so everyone should be able to get into the doc and edit it.  Please choose one, two or three and insert your name and email address into the spreadsheet.  We’re asking that you have this done by Nov 10th so we can find presiders for the sessions that still need coverage.  If you know of anyone else who’s attending and would like to volunteer please send them our way.

Thanks so much!!  We look forward to seeing you at the conference and let us know if you have any questions.

Michelle  & Amy 
NYSCATE Presider Co-Chairs

 

Advertisements

that’s how you do that…

I support various software system, its my job.  I am the gatekeeper.  If questions arise, I am generally the one to answer them.  Or, when requests are made, I’m the one to do them.

One of the systems I support is a security camera system.  We have a new user, who needs credentials to the system.  The permissions in this system are mainly with the groups, not the accounts.  I create the account, then add the account to a group.  The group has cameras or doorways in this case.

I was able to that, sent email to the user with simple directions.  I then discovered that one of the *tasks that was created in the system has been modified.  The task is a view of certain doorways and cameras.  I could open the task easy enough and make changes to its content, but I could not find an open to save the changes.  Poor software design (IMHO).  The interface looks like it were designed by engineers, not designers.  Yes, a common enough mistake.  Companies figure the same people who write the logic and build the software functionality should be the same people who design the interfaces (UI).  Nope, bad idea.  But, I digress.

Eventually, i discovered how to save the changes I made to the task by right clicking on one of the menu bars – no kidding.  There I saw an option that said Save workspace – with a keyboard short cut.

No kidding.  Not a single object, button, word or otherwise that says *save this or that.  You had to happen to right click on the menubar to happen across it.

Anyway, now I can save changes to tasks (sets of doors and cameras) that people make for others.

 

Oh for heavens sake…

I was technically wrong about RSS feeds pushing content to readers that the user chooses.  Technically, I am wrong.  Conceptually, I am on the $$$ mula.

Meaning, when you explain that RSS’s or feeds are web sites that want to push or em *ensure that you are getting the latest information about their product or service, that concept it still very true.

I have blogged previously about RSS, feeds, readers, aggregators and why they are so

What I was incorrect about is the specific pull that the news reader / aggregator is doing.  The site providing the information does not actually push it.  It is pulled by the reader.  The users reader, news reader or aggregator has a setting of how often it goes out and pulls from the site specified – subscribed too.

To summarize:

user – reader – pulls from – Site (provider)

A user updates or posts info to the feed, another user has a reader that has subscribed to the feed.  periodically, the reader says to the provider “yo yo, you got anything new?”  If it does, the reader displays or lists the new info in the reader for the user.

You dig?

If you really want to…

Artificially increase a grade, you know, make the teachers look better?  Sadly this is the outcome when the state pushes hard for accountability in the form of certain student averages that must be maintained in order for this or that…..The tail is wagging the dog.

I was looking at a course syllabus today and noticed the breakdown of the grade, which does not look terrible.  It is smart and gives the student changes to get better grades.  That is all good.  But then I thought this.

If a grade is to be inflated, the grader only need increase the total value of a gradable item, that the student did well on.  And, de-value or lower the points avail. in a gradable item, that the student did poorly on.

apex_biology

 

Emphasize the quizzes, labs and Test (CST) and d emphasize the more challenging exams, finals.

 

 

Feeds – what you need to know

Well – at least some of what you should now.  A feed is a mechanism used to share something.  Information on the internet is made to be shared.  People contributing information to the internet want their information to be shared.  Sharing is a big deal, really more so for the purveyor of the information than the consumer.

Think about where you work.  Your school or business has news or events or announcements.  Your school or employer want that information to get to people.  It is a common for people to say things like “we push information to thousands of people”.  Or “Our communications reach hundreds”.

On the World Wide Web, a web feed (or news feed) is a data format used for providing users with frequently updated content.

What is really happening is a web site or a web page has the concept of a feed associated with it.   A feed is a way to register yourself to get notified when something changes, is announced or is new.  Posted, shared, tweeted, emailed.  Shouted from the roof top, ok, scratch the last one.

This thing jumped out at me today.  I was on a web site, reading about a change to some open source software and boom, up it came.  It wants me to subscribe to its feed!  Via email, rather than a feed reader.

feed

And wait, just another 50 minutes later, while browsing another website about interesting things, I am greeted by a solicitation.    Along with a requirement of activating a message that will be pushed to the email address provided.  This is smart, since you do not want just any jackwagon using your email and signing you up for all kinds of pushes.  You need to say “yes, its me” by clicking the link sent to you from the feed generator.

feed2

Our new vendor has asked us, *what pages should have feeds?  In other words, what information, when posted, should be pushed out?  If the page has a feed on it, then you, the consumer of the page, have an option to say “hey, i was lucky this time to come across this amazing information, I may not be so lucky next time – if only there was a way to let me know this is here, that is was posted, tweeted or shared.  Alas – there is!  Register your the feed with your favorite feed reader – AKA news reader or simply reader.  I like Google News, for example, as a reader that I can customize and specify how the information should be displayed when it gets pushed to the reader.

A typical scenario of web-feed use might involve the following: a content provider publishes a feed link on its site which end users can register with an aggregator program (also called a feed reader or a news reader) running on their own machines

Another example is a software company like say Moodle, wants to push out its news to its users.  Every few days, I get information pushed to my email address.  I must have registered my email with moodle news once upon a time.

I was talking with my wife the other day about what their school is doing.  She said something like “the departments are using google docs to create stuff and the google cloud to store it and are announcing this arrangement to all the faculty from their web site.  I asked if there was a feed available for the staff to subscribe to, so they could have that info. pushed to them, rather than depending on the staff to *come to the site to get the content, and she said she though so.  Then she said they would send out email to everyone or text alerts.  Ah, progress – technological progress – information sharing progress, cloud progress, and a general understanding of the progress.

Web feeds have some advantages compared to receiving frequently published content via an email:

  • Users do not disclose their email address when subscribing to a feed and so are not increasing their exposure to threats associated with email: spam, viruses, phishing, and identity theft.
  • Users do not have to send an unsubscribe request to stop receiving news. They simply remove the feed from their aggregator.
  • The feed items are automatically sorted in that each feed URL has its own sets of entries (unlike an email box where messages must be sorted by user-defined rules and pattern matching).
  1. It makes it easier for users to keep track of our content…This is a very convenient way of staying up to date with the content of a large number of sites.
  2. It makes it easier for other websites to link to our content. Because RSS feeds can easily be read by computers, it’s also easy for webmasters to configure their sites so that the latest headlines from another site’s RSS feed are embedded into their own pages, and updated automatically.[1

I love that.  A good differentiation of using your email or a reader to subscribe to something.  Clearly the reader is a better choice for the reasons mentioned above.  And finally.  Software wants to connect to each other too.  Information and software want to connect and share, its how they get smarter and more relevant.  In our Moodle sphere, we have both sites and courses that have RSS blocks activated.  This allows the information from the provider to push into the moodle space.  Like in a block.

http://www.digitaltrends.com/computing/how-to-use-rss/

https://en.wikipedia.org/wiki/Web_feed

 

LMS overload

I am overloading on lms lingo, lms language, lms intention, lms infiltration.

What is a lms?  that is even in flux.  an lms is a leaning management system.  A place where people can take their courses on-line.  On-line?  yes, where they log into a device and access their courses.  A course has content, activity and lots of information to help the student, and confuse the student for that matter.  There are a brain numbing number of lms’s out there.  Some are open source (free), think Moodle, others are not, you have to pay to just simply have a presence in the lms.  Think Blackboard.  Lms’s are changing the way traditional brick and mortar schools approach well schooling.  At their minimum, they provide a place for teachers to put things for their classes.  Homework assignments, readings, expectations, general information that people can read.  Beyond that hopefully are some things to do, some activities that the learners engage in.  Quizzes, forums and assignments are typical types of activities that lms’s provide.  When I think of Moodle, I think the big three (assignment, quiz, forum).  These are activities that the students engage in, participate with, are active in.  You get the idea.  We hear so much about engagement and involvement.  Creating an active, not passive experience for our students.  I see this as a continual change in the learning space.  An attempt buy school administrators to continue to push the envelop of blended learning.  Blended learning is the hybrid of a traditional classroom, where the teacher stands in front of the students and teaches and a online space where activities and content and engagement also takes place.

Another trend that I see in LMS dome and blended learning is in how the experience is organized in the on-line space.  There is a real emphasis on making things simpler, more clear, less cluttered.  Schoology, for example, emphasizes the teacher and information that is most pertinent to the teacher.  Information is stream lined and make accessible to the teacher.  The teacher does not have to poke around and go looking for things.  Things like student progress or students in trouble, falling behind, not logged in, not engaging in the learning space.  This information pushes its way to the front of the lms so teachers and coaches and others who have a vested interest in the students performance can see students when they are in trouble.  Support the little precious.  To be very specific, when the teacher logs in for example, messages, forum posts, submitted assignments that may need grading or quiz submissions are *pushed to the teacher.  The teacher, from their home page or portal space can see this information in a concise manner.  This helps the teacher to stay on top of the students and their progress.

Define blended learning

me:  an online class that supplements a traditional classroom.  Teachers and students meet in the traditional way, with the on-line portion of the class to enhance the learning.

Wikipedia:

learning systems that combine face-to-face instruction with computer mediated instruction

I am going to do a little brain dump of terms that relate to the lms in different ways

Words that describe an LMS

system, notification, quiz, forum, collaboration, blended, comprehensive, data driven, push, message, public facing, private facing, open source, upgrading, coach, teacher, roles, activity, measurement, scores, survey, test, upload, contribution, protocol, download, assess, contributed, scorm – compliance, shared, ownership, content, packaging, exchange, compliant, share space,  talking, sharing, spark, ownership, heart – collaboration, sharing, learning from each other,  teachers, students, coaches, parents, administrators, stake holders, e-learning, tools, flipped classroom, comprehensive, assessment, testing.

Sentences that describe what an LMS does

  • provides a place for teachers to put their content.
  • a place where student and teachers can log into and access learning content.
  • Allows learners to access materials remotely, on their own, at their own pace.
  • Include assessment tools like quizzes and tests.
  • Allows learners to upload assignments, like documents as homework, where teachers can grade and provide feedback.
  • Provides collaborative activities for learners to work together, like forums or wikis.

Define a flipped classroom

Let me talk about the flipped classroom for a moment – my understanding is its a concept, not a tool.  Flipping the classroom means that classroom time is spend on *homework while lecture is consumed outside of class.  Flip the concept.  Have the student consume, watch video lectures or assignment readings or whatever OUTSIDE of class.  When the students come to class, the time is spend on implementing or practicing or doing.  Good habits are reinforced, bad habits or understandings are corrected and the time is best spent.

The flipped classroom is a pedagogical model in which the typical lecture and homework elements of a course are reversed. Short video lectures are viewed by students at home before the class session, while in-class time is devoted to exercises, projects, or discussions.

How about outcome based or performance based learning.  This is a huge concept that basically says I will assess your understanding of something with this tool or method.  It has a lot of merit, because it provides data that can be used in reporting and support or denial of certain approaches or techniques.  It provides a consistent method of test and assessment of the concepts.

How about assessment based learning

I know – that is a little vague.  Let me say it another way.  Where I live, in NY – there is a big emphasis on standards and assessment of those standards.  For example – the state school commission says “you must do this and achieve these results”.  Schools across the state then adopt their teaching and curriculum to that end and give assessment in a way that can be measured and reported to support that state wide edict.  Still too vague?  I know.  Let me try once more.  Someone important in the state educational hierarchy says “students need to score a 90% on this test for your district to get this $ from the state taxpayer”.  Now the district, since there is $ attached, and that effects jobs and positions at their school, are falsely motivated to teach to a certain test of standard.  Teachers focus on how to take a test, students focus on how to respond to the type of test, strategies are created around how to best perform on this test with teachers, students and parents around the state getting very nervous about it.

A dedicated space to share ideas.  A fun collaborative place for students to hang out and be creative.

 

Sharing data between Access form and report – programatically

Sounds good right?  I have this old legacy MS Access DB that I have been supporting for a few years.  I make updates to the code from time to time, clean up the DB, and explain how things work to my customers who use it.

Recently, I added some new functionality.  Typical stuff, a form with a listbox and sort buttons.  I threw in a report with a preview option.  Where things got a little interesting is when you realize that the SQL pulling the data is the same for both the form listbox and the report.  The only difference in the SQL is the district chosen and the sort option.  So, If I could figure out programatically how to share the selected district and the sort button clicked, then I could reuse the SQL and NOT HAVE TO CREATE SEPARATE QUERY’S AND REPORTS for 5 different times. If I was not willing to solve this programatically, then I would wind up with something like this.  Its the same report! over and over.

  • report 1 – with its own saved query1
  • report 2 – with its own saved query2
  • report 3 – with its own saved query3
  • report 4- with its own saved query 4
  • report 5 – with its own saved query 5

Trust me, it happens all the time.  Too many reports and queries that are almost identical, the only difference is an option used to filter the SQL.

Got it?

First, a look at the form.  Nice right?  Notice the Sort by buttons, that are not available at the moment – but when they are, they simply tell the data in the form how to be ordered.  If the user chooses to order the recs by teacher name in the form, then that needs to be *passed along to the report.  If the user chooses to sort the data in the form by Send date, then that needs to be passed along to the report.  If the user has choosen district a, then that needs to be passed along to the report.

Got it?

estec_form

When the user selects a district, the sort buttons activate.  When the user clicks on a sort button, the selection is  *remembered, but use of a public variable declared in the form. The state of the application is maintained.

When the Preview Report button is clicked – the values are passed to the report, using the this command

 DoCmd.OpenReport “rpt_district_building_kits_dates_specific_district”, acViewPreview, , , , sorttype ”sorttype passed as arg to report

Using this technique, we avoid duplicating the report and the query.  This technique allows us to *pass data between different objects in access.  From the form object to the report object.

Here is a picture of the form and resulting report, a single report, responsively to the district and sort option.

form_report_estec

So this is what I did programatically to share both the sort and select options with one report.  Its true, you have to understand events and how they relate to things you do in the form. Look under the hood!  Notice the SQL statement in the *global area of the form – all the functions in the form can see the code.  Notice too the use of the public variable type.

In the General declaration of the form

Option Compare Database
Option Explicit
Public strsql As String
Public sorttype As String
Public districtID As Integer
Const strSQL1 = “SELECT tblDistricts.DISTRICT, tblKits.Kit_Number, tblKits.Kit_Title, tblTeachers.Teacher_FN + ‘ ‘ + tblTeachers.Teacher_LN AS Teacher_name,

… rest of long SQL join statement ”

Const strSQL2 = ” WHERE tblBookings.SchoolYearID = 19″

Const buildingSort = ” ORDER BY tblBuildings.Building_Name;”
Const weekStartSort = ” ORDER BY tblSchoolWeeks.Week_Start”
Const weekEndSort = ” ORDER BY tblSchoolWeeks_1.Week_End”
Const teacherSort = ” ORDER BY tblTeachers.Teacher_LN”
Const districtName = ” ORDER BY tblDistricts.DISTRICT”
Const kitSort = ” ORDER BY tblKits.Kit_Title”

On the district select event

Private Sub select_district_Click()

If Me!select_district.Value = 82 Then ”82 = all – show all the districts
strsql = strSQL1 & strSQL2 & districtName
Else
strsql = strSQL1 & strSQL2 & ” AND tblDistricts.DISTRICTID = ” &           Me!select_district.Value
End If

Me!teachersList.RowSource = strsql
Me!teachersList.Requery
Call check_sortButtons

End Sub

On one of the sort buttons – setting sortype in other click events for buttons…

Private Sub sort_returnDate_Click()
sorttype = “return” ”update global variable used in report
Call sortlist
End Sub

on the sortlist function

Private Sub sortlist()
Dim lsort As String

”depending on which sort button clicked, update the lsort value using the constrant

If (sorttype = “return”) Then
lsort = weekEndSort
ElseIf sorttype = (“send”) Then
lsort = weekStartSort
ElseIf sorttype = (“building”) Then
lsort = buildingSort
ElseIf sorttype = (“teacher”) Then
lsort = teacherSort
ElseIf sorttype = (“kit”) Then
lsort = kitSort
Else
lsort = weekStartSort ” default
End If

”MsgBox (lsort)

strsql = strSQL1 & strSQL2 & ” AND tblDistricts.DISTRICTID = ” & Me!select_district.Value & lsort

Me!teachersList.RowSource = strsql
Me!teachersList.Requery
End Sub

On the preview report click

Private Sub btnPreviewReport_Click()

”MsgBox (sorttype)

” need to close report explicitly before call open – or else!
DoCmd.Close acReport, “rpt_district_building_kits_dates_specific_district”
DoCmd.OpenReport “rpt_district_building_kits_dates_specific_district”, acViewPreview, , , , sorttype ”sorttype passed as arg to report

End Sub

On form activate

Private Sub Form_Activate()
sorttype = “start”

Call check_sortButtons
Call FillList
End Sub

Filllist function – used to populate the listbox on form

Private Sub FillList()

If Me!select_district.Value = 82 Then ”value for option all
strsql = strSQL1 & strSQL2 ” when viewing all districts sort by district name
Else
strsql = strSQL1 & strSQL2 & Me!select_district.Value & weekStartSort
End If

”MsgBox (strsql)

Me!teachersList.RowSource = strsql
Me!teachersList.Requery

End Sub

and finally, the check sort buttons – to determine if they should be enabled

Private Sub check_sortButtons()
” if the selected district is all – then the sort options are disabled, since they dont make sense in context
” of all the districts and all the kits included in a report.
” james 9/2016

If Me!select_district.Value = 82 Then ”82 = all – show all the districts
Me!sort_sendDate.Enabled = False
Me!sort_returnDate.Enabled = False
Me!sort_building.Enabled = False
Me!sort_teacher.Enabled = False
Me!sort_kit.Enabled = False
Else
Me!sort_sendDate.Enabled = True
Me!sort_returnDate.Enabled = True
Me!sort_building.Enabled = True
Me!sort_teacher.Enabled = True
Me!sort_kit.Enabled = True
End If
End Sub

This is the code in the report – actually, it is all in the report open event

Private Sub Report_Open(Cancel As Integer)

Dim local_strsql As String
Dim local_district As String

local_district = [Forms]![frm_districts_building_kits_dates]![select_district]
”MsgBox (local_district)

”arg sent by command below in form opening this report
” DoCmd.OpenReport “rpt_district_building_kits_dates_specific_district”, acViewPreview, , , , sorttype ”sorttype passed as arg to report
Dim argsort As String
argsort = Me.OpenArgs

”MsgBox (argsort)

”evaluate the sort arg to build the SQL and assign to sort statement
Dim sort As String

If argsort = “send” Then
sort = “ORDER BY tblSchoolWeeks.Week_Start”
ElseIf argsort = “return” Then
sort = “ORDER BY tblSchoolWeeks_1.Week_End”
ElseIf argsort = “teacher” Then
sort = “ORDER BY tblTeachers.Teacher_LN”
ElseIf argsort = “kit” Then
sort = “ORDER BY tblKits.Kit_Title”
Else
sort = “ORDER BY tblBuildings.Building_Name”
End If

Dim districtSTR As String
districtSTR = ” AND tblDistricts.DISTRICTID = ” & local_district & “”

Dim SchoolYearID As Integer
SchoolYearID = 19
Dim schoolyearSTR As String
schoolyearSTR = “WHERE tblBookings.SchoolYearID = ” & SchoolYearID

If local_district = 82 Then
local_strsql = “SELECT tblDistricts.DISTRICT, tblKits.Kit_Number, tblKits.Kit_Title,    tblTeachers.Teacher_FN+’ ‘+tblTeachers.Teacher_LN AS Teachername,    tblBuildings.Building_Name, tblSchoolWeeks.Week_Start,    tblSchoolWeeks_1.Week_End” & _
“…long join statement” & _
” WHERE tblBookings.SchoolYearID = ” & SchoolYearID & ” ORDER BY    tblDistricts.DISTRICT, tblKits.Kit_Title”

Else
local_strsql = “SELECT tblDistricts.DISTRICT, tblKits.Kit_Number, tblKits.Kit_Title, tblTeachers.Teacher_FN+’ ‘+tblTeachers.Teacher_LN AS Teachername, tblBuildings.Building_Name, tblSchoolWeeks.Week_Start, tblSchoolWeeks_1.Week_End” & _
” …long join statement ” & _
” ” & _
” WHERE tblBookings.SchoolYearID = ” & SchoolYearID & districtSTR & ” ” & sort
End If

Rem MsgBox (local_strsql)
Rem MsgBox (local_district)
Me.RecordSource = local_strsql

End Sub

The SQL in the report is repeated because I struggled with building the statement, so I repeated it.  If I spent more time on this, I could probably figure out how to build the statements and include in a single SQL statement – but, I got tired of messing with it.

Still, the technique is good because I avoided replicating the report and create a query for each version of the report.  Plus its good brain development to figure out how to do things like this.