Generate ICSE reports with ICSE grading feature by Fedena 3.3

ICSE (1)

In our last post on ICSE grading system feature by Fedena 3.3, we have discussed about the configuration that you need to do before you start using the feature. Once you’re done with the configuration, the next step requires you to enter the marks of students. The feature also allows you to generate reports based on the marks of students. Read the article and find out more on generating ICSE reports.

How to generate ICSE Reports?

When you login to your Fedena account, you are required to go to ‘ICSE Reports’ in ‘Examination’.

1
As you can see in the screenshot above, the Reports Center has four options:

Generate Reports: You can generate a report on the student scores entered. Next, you need to select the particular course for which you want to generate the report.

23
View Student Report: To view the report of particular students, you can use this option. It gives you the score card of students.

4
As you can see, this is a report card of a particular student. Likewise, you select other students from ‘Students in this batch’ as marked in the screenshot. A ‘Term’ is used in most ICSE institutions under which the examinations are conducted. Most schools have two terms- Term 1 and Term 2 exams.

Subject-wise Report: Similarly, you can also generate report of students based on subject.

5
Consolidated Report: Get a consolidated report of all the subjects together for students.

6
The consolidated report of students in the particular course and batch.

Note: Generating report is highly flexible and it offers you the option to generate reports on multiple combinations in subject-wise and consolidated report. This means, you are allowed to generate reports based on terms, on internal marks alone or external marks or a combination of both, etc.

Create and publish feedback forms using Form Builder plugin

Form-builder

 

With Fedena 3.2, you can now enjoy a very new and exciting plugin called the Form Builder. One of the biggest advantage of this new plugin is that it helps you create feedback sessions in your institution. Create and publish feedback forms in few simple steps which are mentioned as you go through the article. Read on to find how you can create and publish feedback forms easily.

Create feedback forms as an admin or a privileged employee

When you login to your Fedena account, go to ‘Forms’ in ‘Collaboration’. From there, you need to go to ‘Create form templates’ where you need to create the new form template. 

form builder_1

Drag whatever fields you want in your form template from the left column to the right one as shown in the above screenshot with the arrow. ‘Save template’ if you want to use the same template again in future. Else, ‘Use’ button will help you to use the template for the particular feedback session you want. Don’t forget to give a name to the form at ‘Form name’.

You have to create the form, put in all necessary information and for which, you have to go to ‘Form templates’ and select the respective template.

 

form builder_3

 

Fill in all necessary information to complete creating the feedback form. Once you are done with creating the form, you can go to the next step.

form builder_2

 

Before publishing the form, you have to select whether its a feedback form and also the recipients from the particular department and batch. Also, you can select if the feedback is meant only for students or parents or both.

When a student login to take part in the feedback

The students who are assigned to take part in the feedback session, will get message. Once selected, it will help in viewing the message.

form builder_4

 

Click on the link to go to the form and fill it up.

form builder_5

 

Once the form is filled, click on the ‘Submit’ and it will go the admin.

Login as admin to see responses for the feedback session

The admin can see the responses by navigating through ‘Manage Forms’. Click on the particular form to go to the form submission page.

form builder_6

 

You can extract the responses as CSV file or go for ‘Analysis’ also. Thus, an easy and smart way to conduct a feedback session at your institution.

 

Re-arrange and randomize questions in Online Exams with Fedena 3.2

Rearrange-Questions
Conducting various type of exams often require you to frame questions and rearrange them for each question paper. And this task is without any doubt, much hectic, rearranging the questions for all the students. But with the question re-arrangement and randomize option, you don’t have to spend your time doing the same yourself. Read the article and know how you can use the options for examinations.

How to do it

Arranging questions takes place in two types- rearranging it yourself and using the randomize option.

In case the questions are arranged manually

Login to your Fedena account and go to ‘Online Exam’.

1

Select ‘View Online Exams’ and go to the respective page to select the particular online exam where you want to make the new updates with arrangement of questions.

2

Select the particular online exam to do the modifications. Once you select the particular online exam, it will take you to the particular online exam detail page.

3

The ‘Rearrange Questions’ option lets you rearrange the questions according to you.

Using the ‘Randomize’ option

When you don’t rearrange questions manually, use the ‘Randomize’ option.

4
Just select the ‘Randomize’ option and the order of the questions will change every time a different student appears the exam. Thus, a perfect help for conducting different type of exams.

effective institution management

Anytime Anywhere Data: Key to Effective Institution Management

Vishwajit

When we talk about effective institution management, we cannot deny the fact that the effectiveness that we talk about, focus on institutions of the 21st century. When education has moved beyond the peripheral of an actual classroom, how can management be limited to it. When teachers are not mere carriers of knowledge, but the right guidance to students in their quest for knowledge. When education has come out from the limitations of chalks and boards, books and pens and has moved into a virtual sphere connecting students and educators all over the world, management too, has to be at a level to match with the changing face of education and learning. And this kind of management should have systems in institutions that would facilitate better teacher-student coordination, more consistency in approach and action throughout the institution.

Effective management of the institution is crucial. Why? Well, think about a well connected and adequately communicated team of teaching and nonteaching personnel with defined roles and tasks. And administrators with access to data will have a proper control of the institution, with more transparency and accountability. Moreover, easy access to data can assist educators and administrators of institutions to study data from the past, analyze it and come up with solutions that would bring out wonderful results for institutes. Take an example, the study of data gathered from the past can help educators to analyze the use of various educational reforms in their institutions. Collecting and studying of student data can help teachers and professors keep a track of student performances, their weak areas of learning and finding out ways to rectify them.

With education going global, more and more online courses coming to use, connecting students and educators across the world, management of these virtual institutions require the availability of data anytime that can be accessed from anywhere. This kind of accessibility were things of impossibility till some years back. But no more. Data in any form can be accessed with just a minimal use of modern technology. A computer and internet connection and you have access to any data of your institution.

The concept of anytime anywhere data is easily possible with the implementation of ERP or education management in managing institutions effectively, with just a click of a mouse. ERP implementation or using education management software in institutions, customized according to individual needs, has benefits for all stakeholders students, parents, administrators and the management body also! The anytime anywhere data concept is easily viable to institutions powered by erp software solutions. Imagine, how beneficial it would be for administrators and members of managing body to get access to the institute irrespective of any kind of time and location constraints, thus a wonderful aid in times of emergency or urgent decision making. A one-click access to information related to employees, students, academic is what is required in this technologically modified world. Access to administrative operations and functions are reduced to single click login, thus an effective management of the institution is possible from anywhere, anytime.

But, when we talk about the accessibility of data in ERP, we should also keep in mind about the availability of data in ERP software; how can we make sure that data is available in the ERP software. Once data is available in the ERP, everything falls in place and the accessibility and analyzing of data is done with minimal effort. Here comes the focus of concern how is the data made available in the ERP; can there be a way to do it automatically? Like devices interconnected with each other would do auto data entry. Let’s put in the concept of the Internet of Things in this place. How can this concept be of any use in this scenario? Well, Internet of Things, as we all know is a concept that talks about a future where every physical object is expected to connect to the internet and will be identifying themselves with other devices. That means any object will be able to identify itself digitally, connected to the surrounding objects as well as database data. Think of a situation where computers will be collecting data without any human help and have all the necessary information required and it will be all about the accountability, your ability to keep track of everything.

If Internet of Things can be put to use in education, it can create wonder for institutions. Interconnected devices in an institution can do the data entry without any help from administrators or teachers. Educators or teachers can save loads of time from inputting data to ERP software manually, thus investing the time in what they can do or expected to do the best teaching. A very good example of how this kind of interconnected devices is a great boon to institution management is the Alndra Attendance management, an Artificial Intelligence enabled image processing technology to record attendance of classroom without any kind of manual interference. This kind of smart attendance requires just a mobile phone, with the app installed and take photos for attendance. Thus, a mobile phone connected with an education management software can create a lot of difference in your efforts towards effective institution management.

Fedena, the opensource software has been playing an active role in fulfilling the anytime anywhere data facilitator for thousands of institutions worldwide. A perfect school management software or an enterprise resource planning or a student information system, whatever you give it a role, it fits well. Anything related to education and management of educational institutions is carried out efficiently, by incorporating the power of the internet, computer and modern technologies.

Smarter solutions to age-old problems in institutions by Fedena

Smarter-Fedena

Technology is changing not just the way we live; but how education is imparted as well. Education and learning have come up a long way and educational institutions too, are paving way for technology to take over and enhance learning at the institutional level. And adopting education management software is one big step these institutions are doing towards revolutionizing education. Today, we bring to you some areas of operation in an institution that can be enhanced and modified by adopting education management software, like Fedena. Fedena, the awards winning education management software has been playing an important role in revolutionizing education, learning and institutional management. Read on to find out what are the areas of improvement for educational institutions with Fedena.

Problem: Teacher’s spend most of the class time taking attendance. Hence, a chunk of productive time in class is lost in attendance marking manually.

Solution: Smart attendance with the help of Alndra Smart Attendance plugin, integrated with Fedena will let you take the attendance in as less as 10 seconds! The plugin enables image processing technology to record attendance of classroom minus the manual work.

Advantage: Teachers can now invest more time in teaching and learning activities.

Problem: Creating intelligent reports, customized according to various requirements demand immense manual work which at times becomes impossible and time consuming.

Solution: Creating not-so-typical reports made easy with the custom report plugin by Fedena.

Advantage: Customized reports give an insight to student performance and capabilities. Hence, teachers can act accordingly. 


Problem:
Tracking and managing expenses in an education institution at times becomes confusing, particularly when the expenses are variable and keeps on changing monthly.

Solution: Fedena allows easy management of these kind of expenses using a unique way of storing up information on these expenses.

Advantage: Managing these expenses under different categories is more systematic and easy to regulate expenses. 

Problem: Student tracking is often considered to be a genuine problem in government run institutions where there is lack of proper monitoring of students.

Solution: Get a biometric attendance system or RFID student tracking system and integrate with Fedena and see the wonders.

Advantage: Easy to install, use and highly scalable biometric technology can bring in good results for the rising number of missing students and teachers in government and community schools. 

Problem: Maintaining large number of students and employees with varied transportation details is a tough task for the assigned employee.

Solution: Transport plugin by Fedena to manage everything important related to transportation.

Advantage: Properly managed vehicles, transportation routes and fees for various students and employees stored in one system. 

Problem: A smarter way to library management, easy to manage books being issued, returned or any added new.

Solution: Fedena’s barcode integration for updating book records in library.

Advantage: Whenever a new book is added or an one issued or returned, everything is managed by scanning the barcodes of the books. 

Problem: With technological advancement, schools are going the virtual way and online exam is the need of the hour.

Solution: Online exam plugin by Fedena for all kind of online exams- objective, descriptive as well as subject-based.

Advantage: Specific online exams for students who are not present physically in the class. Perfect for online courses or virtual schooling. 

Import Question Feature

Fedena 3.2 Brings you the Import Question Feature in Online Exam

Import Question Feature

In the last article, we have talked about the new updates and features in the Online Exam plugin with the newer version of Fedena 3.2. Today we take up a new feature in the Online Exam plugin which is called the Import Question. Read on the article to find out more about the Import Question feature.

Import Question Feature in Examination module

The basic point of the Import Question feature is that it allows you to import questions from any last exam of a particular batch. And it can be done both in terms of exams which are ‘General’ in nature as well as of those based on any particular subject.

1. To check out how the feature works for exams and questions which are ‘General’, login to your account and go to ‘Online Exam’ in ‘Examination’. Go to ‘View Online Exams’.

2. Go to ‘View Online Exams’ and select the batch for which you want to make the changes in the question paper and import questions.

3. Select the particular exam you want to modify.

4. The ‘Import Questions’ when selected will help you with importing questions from the previous exam.

5. Select the question you want to import from the panel on the left and as it shows up in the right, click on ‘Import’. But you have to fill in the marks for the question as well before you ‘Import’ the question. And you are done with importing questions for exams which are ‘General’ in nature.

6. In the case of exams which are subject based, questions will be subject specific only. To import questions for this kind of exams, you have to first select the particular exam for which you want to do the import question option.

As the screenshot shows, you have to select the ‘Course’, ‘subject code’ and then select the question you want to import. As mentioned earlier, you have to fill in ‘Marks’ allotted to the question before importing the question.

Any good or important question from the previous exam you want to be part of a current exam, you can now do it easily with Import question feature.

Please Note: If you are using Fedena demo account,  in “view online exams” first you have to create a “new” examination and then follow the same process, as mentioned above to import the question.

Google Forms in Classroom

Smarter Ways to use Google Forms in Classroom

Google Forms in ClassroomGoogle has successfully made its way to the classroom. It has come up with a lot of tools to accelerate growth in learning and offer better teaching experiences. In fact, Google has a whole lot of products to offer including the new Google Classroom which is a great option for a perfectly organized classroom. Google Docs and Google drive are other effective tools for creating and sharing, hence something to look out for in classroom teaching.

Today, we are going to talk about Google forms and how Google forms can be used in the classroom in the most effective ways.

Google forms is a very prominent feature of Google Drive and there are plenty of smarter ways teachers or educators can utilize them to make the most in classroom teaching.

  1. Google forms are ideal for conducting a survey in the class. Communicating with students on a regular basis is difficult without the use of a proper medium to do it. But the importance of this kind of surveys cannot be ignored too. It not only creates a good teacher-student communication but also motivates students to offer their meaningful feedback and hence, let the educators evaluate the ways to effective learning.
  2. What better ways can be to use google forms than a contact information collection form. Get your students to fill their details in the form that might be the crucial piece of information. A good way to know more about students and parents for future communication. This information is important particularly when you can save yourself from the tedious task of entering data. Everything can be done electronically, why the point of wasting time in doing the same manually again and again.
  3. Student assignments are easy to collect with the help of Google forms, particularly when students have to attempt exploratory questions. Everything can be kept in one place as you can easily store all information about classroom projects like web links to the blog post, video posts and others at one place. Managing projects is an easier task now.

Great help for assignments, keeping a track of grades and a feedback form, Google forms are perfect assistance to classroom teaching. There are a whole lot of other new ways that you can explore by yourself and employ in classroom teaching.

Check out the video showing some good ways to use Google form in the classroom.

A Quick Guide on Brain-Based Learning

Brain-Based LearningA comprehensive new form of teaching, brain-based education focuses on how the brain learns things naturally. It involves all those teaching methods, programs and designs specially designed on scientific researches on how the brain functions while learning. The researches deal with the learning process of students as they grow up and the various emotional, social and cognitive changes that take place.

In short, the age-old belief of intelligence being a constant thing is proven wrong as new researches have proved the fact that continuous learning and practicing of skills can lead to the brain physically changing. Thus, the overall functioning of the brain can now be modified with proper academic programs in schools and educational institutions have all the reasons to introduce special programs that enhance the functioning of the brain of students.

What exactly is this brain-based learning all about?

Defining brain-based learning would refer to all those techniques and programs that are specially designed on scientific findings on how the brain works. Scientific researches on neuroplasticity have been carried out thus proving the fact that neural connections alter themselves accordingly when people learn new things or have new experiences or practice skills for some time. Moreover, these findings have also focused on the importance of diet and other conditions like stress on learning functions; emotional state of a being can affect the learning process; that the brain uses various areas in it to store information, among a lot of other conclusions. And so, it is advisable to educational institutions to develop programs and lessons to create such environments that would facilitate the learning process, something that would stimulate the brain like, music for de-stressing, healthy food, and exercise for the brain, etc.

Brain-boosting programs are already taking up a concrete shape with institutions coming up with various courses. The Graduate School of Education, Harvard University offers a master degree program on Mind, Brain, and Education.

Benefits of Brain-Based Learning

Investing enough time for the research developments according to the way the brain learns things, would bring out learning materials, programs, and strategies accordingly. Here, given below are some benefits that brain-based learning offers to students:

  • Lesson plans can be customized according to the level of intelligence of students with the right quantity of information being supplied to them.
  • Brain-based learning strategies can help educators know the different levels of understanding of students, their abilities to perform, how fast they develop skills and their varying learning styles.
  • Stressing on brain-based education programs will also motivate educators to stress on foods and exercise regimes for brain boosting. The right food and physical exercises can trigger the right mood for learning.
  • When educators have the right understanding of how the brain functions while learning new things, different learning strategies can be formulated accordingly. Different students have characteristics of their own and hence, teaching methods can be designed to meet these characteristics.

Brain-based education, in a brief, is all about the researches to frame out strategies and programs on the basis of how effectively the brain can be used to enhance knowledge intake. Educators should engage in framing out these strategies to utilize the brain for optimal learning.

Regulate Book Tags using Manage Tags Feature Available from Fedena 3.1.1

fede

Arranging books in the library under tags sounds systematic and makes book searching an easier task. With Fedena, the task is made simple with easy tagging of books. In its earlier version, Fedena allowed tagging of books with some limitations. But the new version of Fedena 3.1.1 has come up with solutions that simplify the way tags are managed in the library. Read the article and know how tags are managed using the new version of Fedena.

The Old Scenario

In the earlier version of Fedena, under the Library plugin, books stored in the library were categorized under various tags like fiction, non-fiction, history, etc. The one shortcoming with this scenario was that tags could not be managed, like for example, tags of books could not be edited or deleted.But the newer version of Fedena 3.1.1 has a solution to it – Manage tags feature.

The New Scenario

With Fedena 3.1.1, you can now make necessary changes like editing and deleting with the manage tags feature. To do this, you need to login to your Fedena account and go to ‘Manage Tags’ in ‘Library’.

Select ‘Manage Tags’ and go to the page to manage the tags you want.

You can edit the tag as is shown in the above screenshot. All you need to do is to click on the tag name and do the editing. Once you are done, click on ‘OK’. Deleting the tag is also made easy with ‘x’ sign as shown. Moreover, if you want to check which all books are tagged under the particular tag, you can do so using the ‘Tagged books’ option as shown above.

Your books and tags are now perfectly managed with this feature.

Changes seen in Development & Deployment: Experience with Ruby on Rails – Part 2

Ruby

We covered some fundamental changes in environments of Fedena, Uzity and Flux covering CLI commands, Plugins, Gems, Asset pipeline, Bundler, Turbolinks, CoffeeScript and SASS in the  the first part. In this part, we will be covering about the changes seen in some other aspects of development and deployment, like ActiveRecord, Tags, ActionMailer etc.

Action Callbacks

Action callbacks are used mainly to prevent repetition of code in controllers by calling identical codes repeatedly. Rails  offers several action callbacks in controllers like before_filter, after_filter etc across all the three RoR environments we use. New alias methods have been added to action callbacks in rails 4, which enables us to use before_action, after_action etc. instead of before_filter, after_filter etc. However no sign of deprecation of these methods are shown.

ActionMailer

ActionMailer is used to send emails from a rails application. In rails 2.3, i.e in Fedena, ActionMailer is present as a Model. With the release of rails 3, ActionMailer was changed from model to a class and relocated to ‘app/mailers’ from ‘app/models’. This system remained unchanged in Rails 4. Also in Fedena, method prefixed with ‘deliver_’ was used  to send a mail. Calling method name as such is sufficient in Rails 3 and above. Uzity follows this method. ActionMailer has not been used in Flux.

Delayed_job

Delayed Job does not come by default in Rails. Delayed Job is a gem added manually. This was extracted from Shopify. Delayed Job can be used to execute time consuming process like preparing complex reports, sending emails etc. Delayed Job is used as a plugin in Fedena with some customizations. In Fedena delayed job is used to compile some reports, send emails etc. In Uzity, ‘delayed_job_active_record’ is used. This gives more control over queuing and priorities for jobs by naming queues and assigning priority in integer values. Delayed::Job.enqueue is used to append a Job to the delayed job in Fedena. In Uzity it can be done either by Delayed::Job.enqueue or by defining handling method in Models. ‘handle_asynchronously’ can be used to make a method execute as a Delayed Job. Delayed Job is not used in Flux so far.

PATCH Method

‘PATCH’ has been used as a primary method for ‘update’ in Rails 4. Both ‘PATCH’ and PUT are routed to ‘update’. PATCH is ideal for partial updation and for APIs. PATCH is a relatively new standard and what it does is that it applies a delta rather than entire resource updation.

Form Tags

Form in Fedena, used to have form written in a non-output syntax, like

<% form_for ...

This changed to syntax with output(with ‘=’ sign) from Rails 3 onwards like

<%= form_for ...

ActiveRecord Changes

ActiveRecord is responsible for mapping persistent data to ruby classes in a Rails application. It represents the ‘M’, i.e the Model in MVC Architecture. ActiveRecord usually goes through significant changes throughout every major and minor version updates of Rails. Some of such changes we see regularly between the operating environments of our applications are discussed here.

Query Engine

Querying mechanism has changed in Rails 3, increasing the flexibility of code in the controller. Several new methods like where, order, select etc were added. ‘where’ method was introduced, which can replace ‘find’ in queries. where returns an ActiveRecord::Relation. It is a collection of method objects unlike find which returns a single record or find_all which returns an array.

Throughout Fedena we use find and find_all for querying, with conditions specified either in the ‘Rails way’ or in SQL format, and returning data in arrays . In Uzity we got the new, ‘where’ and several other related methods in addition to find. In Uzity we use ‘find’ at some places where we expect the results to be in array format and with less data manipulations. In complex actions, we use the ‘where’ method so that we get an ActiveRecord Relation which we can keep on chaining till the expected result with lesser database calls. With Rails 4 several ‘find’ related methods saw deprecations by introduction of new methods and emphasis on ‘where’. So to avoid deprecation warnings and to be safe with future versions of rails we use the new finder methods in Flux.

Scopes

‘named_scope’ has been deprecated and changed to just ‘scope’ with Rails 3. The ‘conditions’ like we use in named_scopes also have to be changed to relation methods such as where, order etc. as mentioned previously. We use named_scopes and dynamic_scopes in all three applications, but tend to use it in very high frequencies in Uzity and Flux.

Query Chaining

Thanks to the ActiveRecord::Relation returned by latest methods starting from Rails 3, queries can now be chained with ease. The ActiveRecord relations returned by relational methods can be further queried many times. As a result, we tend to use more scopes in the models of both Uzity and Flux for pretty code and simpler and optimized queries. For example, if we add the scope ‘active’ and ‘open’ to the Task model, it is enough to use

Task.active.open.where(:id=>objective_id)

instead of

Task.find(:id=>objective_id,:is_deleted=>false,:status=>’open’)

or further longer

Task.find(:all,:conditions=>{:id=>objective_id,:is_deleted=>false,:status=>’open’})

ActiveRecord Store

ActiveRecord store was introduced in Rails 3.2. It is a simple key/value store. It stores a Hash as text, which is serialized upon load and save. It can be flexibly used to addition fields for a record. ActiveRecord Store is used to maintain notification count in Uzity.

Mass Assignment Controls

Along with the other security fixes, Rails also introduces several methods to prevent end user data. ‘attr_accessible’ and ‘attr_protected’, defined in Rails models were introduced in rails 3 to serve this purpose. These are basically blacklisting(attr_protected) and whitelisting(attr_accessible). This was made very strict by default in  Rails 3.2

With rails 4, a new method called ‘strong-parameters’ was introduced. The attributes are now protected from the controller part rather than from the model part, restricting the flow of parameters to the model. Only whitelisted parameters are permitted the flow. This however caused a lot of troubles dealing with nested forms and uploads in Flux at initial times until we got used to.

Migration Changes

Migrations remains more or less same throughout Rails 2.3 to Rails 4 with less number of deprecations. In Rails 2.3, i.e in Fedena, we had to write separate up and down migrations for each migration. In rails 3, writing ‘change’ migration was enough, but had trouble dealing with ‘change_tables’ and ‘drop_tables’. The change method was preserved in Rails 4 with fixes to ‘change_table’ and ‘drop_table’.

In general, while switching between projects in different versions of Ruby on Rails, it is very obvious that the application development is becoming easier with every new major versions of Rails. Rails 2.3 is like the essence of Rails among the three versions used. If we have experience developing in that environment, we can easily handle the newer versions without much problems apart from the initial lags.

This article is written by:

TP

 

Sooraj T P
A hard core coder. A gadget freak. An unsung designer. There is hardly anything which Sooraj doesn’t talk about, be it tech, gadget, design, automobile or more. Sooraj is the “Tech Saint in making”.

Everything you Need to Know About App Frame

1bWhat is App?

An app is a software that provides a specific and desired functionality. The app is built to ease the users/customers of a service provider or product company for a number of desired services. Apps are of various types based on platform dependency, viz. mobile or native apps, web apps.

What is App frame?

App frame is a concept of nesting apps developed in for Fedena. The concept is not something new, apps like Facebook already have implemented apps through a similar sort of technologies. It basically means, to include an app inside another app. The parent application is provisioned to include another app, this helps the user to get functionality which is either related/non-related to the parent application. The main advantage of this concept is that the parent app gets the new functionality meanwhile implementation overhead of the new functionality is taken out of the parent app. Also, App frame will be an isolated independent app. Just that it uses parent app like a container to load. App frame can reside within the same hosting area as a parent app or even can be a third-party app.

In Fedena, App frame is implemented as a plugin. A Fedena admin user and the privileged user can add an app frame. Fedena App Frame is basically an app inside Fedena’s frame. An app is an independent application. It resides outside Fedena. Fedena loads the app using an iframe. An iframe is used to display a web page within a web page. An iframe is an HTML tag defined as follows:

<iframe src=”URL” width=”200″ height=”200″ frameborder=”0″></iframe>

here URL corresponds to web URL or link of web page or service included as an app frame width, height and frame border are some other parameters that define the width, height and border of frame area used to display app frame within an iframe.

The most interesting thing about using the app frame is we can include any other web service within Fedena. It gives flexibility and user ease. A Fedena user doesn’t need to go outside Fedena to access those services. Admin can even add educational games provided online by any third-party

App Frame Management

Fedena App Frames are very user-friendly and hassle-free. Fedena admin can add various external apps in Fedena as an app frame. From the menu, the user can browse to manage apps. From there can add new apps, edit or delete old apps. It’s so simple to use.

Fedena app frame can allow 3rd party client to become Fedena OAuth clients. This permits them access to internal Fedena. Fedena app frames can be made for the category of users ie. admin, students, employees, and parents.

Fedena OAuth Clients

Fedena OAuth Clients (Apps) are those third-party apps, which register in fedena , and fedena authenticates and authorizes the app to use the fedena’s protected resources. The process is implemented using the OAuth2 protocol. For example, a third party client can access fedena student APIs to access student data, process it and show the map with addressed pinned in it.

App frame Limitations

App frame do have certain limitations besides flexibility and user ease. Some are third-party restrictions, some are technical restrictions and some based on UI.

  • Admin can include any web service as an app frame, for which provider has no objection to use their service/app on a third party platform.

  • In case of technical restrictions, restrictions are set by CORS. CORS means cross-origin resource sharing, it basically means permissions/restrictions to prevent or allow a service to be used on a third party platform. CORS introduces a standard mechanism that can be used by all browsers for implementing cross-domain requests. The spec defines a set of headers that allow the browser and server to communicate about which requests are (and are not) allowed. CORS continues the spirit of the open web by bringing API access to all. This is used as a means also sometimes by providers to prevent used as a frame inclusion on other platform or web services. Basically, when an app frame is opened, a request goes to the respective source of included third-party service. The response request can include an Access-Control-Allow-Origin header, with the origin of where the request originated from as the value, to allow access to the resource’s contents. The user agent validates that the value and origin of where the request originated match. If it matches, the app frame will load otherwise the app frame will fail to load.

  • UI restrictions are miss-match in user-friendliness, designs of the framed app. If the app frame has a scroll and you want to make frame scroll less, then a code snippet has to be pasted inside the page being shown. The code snippet can be obtained from the index page of App Frame by clicking on the respective app name. You will be taken into the show page, listing the details of the selected App Frame. Copy paste the client script in the last row and add it in the page being shown. Then the page will become scroll less.

App frames are an area which makes freedom for fedena users to add their own chosen apps, without needing them to buy or develop.

This article is written by:

Untitled

Shridhar Agarwal

A coder and only coder. His time goes around his laptop. Coding web apps, websites. He is literally born to develop things he finds missing. There is hardly anything he is not doing. A music lover & a Foodie. ”

 

Fedena 3.0 – Empowered by JQuery

Jquery (1)

Gone are the days of so called “Static” or “Semi Static” webpages. With the World Wide Web growing past its silver jubilee, web technologies evolving and outperforming their old selves every single day, the requirements and expectations of end-users have also come a long way. So, if you have a web based product, you have to set your sails and keep moving in the direction of this evolution, to stay alive in the race of being the best in your class. And so did we.

As of recent times, the benchmark of a web application is how interactive it is with users, how simply and quickly a user can accomplish the intended purpose with minimum number of page redirection and how fast the server responds to user actions. The modern age web applications mark the minimization of total page count and maximization of single page functionality. To achieve this, from a developer’s point of view, it is important to make the system perform as many actions as possible on the client side, without having to send request to the server. This, in fact takes a lot of unnecessary pressure off the server as well, which in turn improves its response time. And in case server interaction is needed and its response has to be shown to the user, only the required part of the page can be updated, instead of reloading the entire page or redirecting to a new one. As a result, less data has to be downloaded every time which also makes the whole process faster. And this is exactly where client side scripting aides like JQuery and asynchronous server interaction techniques like Ajax, come to the party.

What is JQuery?

JQuery can be formally defined as “a cross-platform JavaScript library designed to simplify the client-side scripting of HTML”. So, ideally JQuery is a collection of functions written in Javascript, and once the library is included, we just need to call these functions in the places we need and with the required parameters if any, and it can do wonders with a minimum effort from the developer’s end.

Why choose JQuery over plain Javascript?

Well, JQuery is nothing but Javascript only. Whatever JQuery can do, the same can be achieved by using plain old Javascript as well. But it would be way more tedious. And it would require significantly adverse knowledge of Javascript as well. Let us take up the example of a simple JQuery function like .slideToggle(). When called upon an HTML element, it provides smooth up and down sliding of the element while hiding and showing it respectively. We can even control several aspects of the process like sliding speed, delay of start after clicking etc. simply by passing appropriate parameters while calling the function. Now imagine, how much time and effort we need to accomplish the same in plain Javascript. So, the prime advantage of JQuery over Javascript is that it saves time, effort and obviously “Lines of Code”, and last but not the least, the developer only needs to know the syntax and what it does, and not the big chunks of underlying javascript code. Moreover, there are hundreds of JQuery plugins and widgets available for every other need of developers and the count is increasing every single day. So, before jumping into sculpting any new idea with JQuery from scratch, we can just go through these already available plugins and widgets, and nine out of ten times we will find one, that can push us much closer to the finish line at once.

How we implemented JQuery in Fedena 3.0

Fedena has always been known for its simplicity and quality user experience. Moving along the path of evolution, Fedena has gone through a massive makeover in its version 3.0. While the designing team has to be given most of the credit, the contribution of JQuery has also been immense. Let us highlight the most important of those.

The Main Menu

main-menu.png

The main menu slides down when the “Menu” icon on the top bar is clicked, and it slides up again if we click anywhere in the page except the menu itself. This has been implemented simply by using the .slideUp() and .slideDown() JQuery functions. The links are grouped under different tabs based on their categories. When we click on any tab, an AJAX request is sent through JQuery to fetch the links that come under that category and the lower <div> is updated with the new links. Once a tab is clicked for the first time, the links for that tab are cached, thereby saving time for result fetching in future. Now, if we hover on a link, and if the link has associated sub-links, the sub-menu comes out to the right of the link, and to the left if sufficient space is not available on the right side. To set the position of the sub-menu, first we keep it hidden, find out the “top” and “left” of the link using the .offset() function, find the heights and widths of the link, the sub-menu and the main menu div using .height() and .width(), do required calculations with them to find out an ideal position for the sub-menu, set its position using .position() and finally show it using .show(). Simple enough.

The Data Palettes

palettes-2.png

The “Data Palettes” page is the new generation substitute for the old Fedena Dashboard. It provides each user with an informative and customizable homepage instead of just a collection of links. On clicking on the “Manage Dashlets” link at the top, a dashlet selection menu slides down with all the available dashlets. The user has to select the ones he wants to see and hit “Save”. The selection menu slides up and the lower main div is updated with the latest selections. While this process is completed entirely using JQuery and AJAX, the lower main div is where we have used JQuery and AJAX at their best. In fact, everything we do here, is through JQuery and AJAX only. The entire div is divided into 3 columns and each dashlet is assigned a particular column number and sequence number when they are selected. The dashlets can be just dragged and dropped from one position to another, and after each such rearrangement, an AJAX request is sent through JQuery to update the column number and sequence number of each affected dashlet. So, the next time the user comes to this page, he will find it just as he left. Each dashlet gives a particular information for a particular date selected from the attached JQuery Date Selector or the forward and backward date navigators on its two sides. Of the 3 icons in the top-right corner, the first is “Refresh”. The entire content slides up and comes down with the updated set of data. The second one is a “Minimize / Maximize” toggle. Any action on this will update the state in the database as well through AJAX. So if you leave it minimized, you will find it the same the next time you come back. The last one is the “Remove” option which removes the dashlet from the user’s selections. We got the concept of dragging and dropping from the “JQuery Portlet” widget, customized that and included all these features on top of it to bring out our “Data Palettes”.

While, these are the two places where we used JQuery and AJAX the most, there are several other places like the “Manage Quick Links” page, the “User logout” and “Sibling Switching” dropdowns etc, where we have used them as well. In fact, many places where scripting was done previously by prototype or plain Javascript, we changed that to JQuery. Such has been the love and addiction for this powerful and friendly library, since we started working with it.

This article is written by:

Swagnik Choudhury

A software engineer and sports enthusiast who believes in the ever learning curve of life. From developing a project to playing the cover drive, he loves to go an extra mile to make things closest to perfect.

Have any interesting insight to share, leave us a comment. For more information on Fedena click the contact button below.