New Update: Fedena 3.1.1 with Additional Features and Usability

Fedena

Fedena 3.1.1 with new features and improved functions. Read the release note below to find out more about the latest Fedena release. You can write to us at info@fedena.com with your feedback and suggestions.


Features

Core

User privilege changes in Reminder.

Edit/Delete for past timetable.

Revert Batch Transfer.

Changes in auto suggest menu.


Library

Tags to have view edit, delete options in library.

Integration of Barcode Reader in Library.

Displaying Book Count in library based on filters

Bugs

Core

No need to list the inactive batch inside the time periods.

Increase size of the word Signature in Fee receipts.

Prevent changing the swapped subject through drag and drop in the timetable entries.

Count showing wrong in the attendance report.

If there is no elective subject in elective group then show a message in subject transfer page.

Increase date of birth start year for guardian.

Attendance filter option is not working.

Defaults weekdays are being set for new batch.

Exam control privileged employee does not have the permission to edit the exam group.

“Add New Batch” privileged employee can’t assign/remove students to/from electives.

Deleted elective group name showing in assign subject page after adding a subject.

Subjects with No Exam are not listed in reports (Grouped/Transcripts etc) even if subject was present when exam was created.

Student admission privileged employee have no permission to add the siblings, delete the previous data subjects, add guardian.

Not possible to add a guardian for a student, showing ‘ward id can’t be blank error’ message.

Add a space between No guardian added and Add guardian link.

Add a space between employee category and position name in HR settings.

Employee last name in small caps in edit privilege page.

Student edit page date of birth year limit is not same as Admission Page.

Inactive batches not being filtered in the CCE batch listing pages.

Unable to mark daily attendance.

Can’t mark attendance for swapped subject, since it is not present in timetable.

Should not allow to mark the student attendance for the disable dates through custom import.

Separate country name into name + regional name format.

Invalid Request error in attendance API for subject wise configuration.

Discount created for the students are also importing into the new batch while importing the fees of the previous batch.

Applicant Registration

Show the loader in correct position in register page.

Custom Import

Country full name issue in custom import.

Data palette

SMS Sent Palette does not show time according to set timezone.

Discipline

Add one space before the admission number in complaints.

Wrong error message showing in complaints edit page at the time of deleting attachment.

Doc Manager

Style issue in doc manager – search label not aligned.

Hostel

Alignment issue in error message showing in hostel page.

Inventory

Add star for mandatory fields in store item page.

Library

Style issue in book renewal page.

Only first name of the book is showing in capital letter in student_library_details page.

Going to dashboard while clicking the reserved employee name in the library book show page, here the employee is archived employee.

Online Exam

Add uniqueness in online exam.

Tally Export

Strike the delete option if any dependent data exists.

Error message is not showing at the time of deleting company name.

Transport

Selected batch getting refreshed while editing the transport fee collection.

Previous Release notes:
Fedena 3.1
Fedena 3.0

The Need for Regression Testing

Regression-testing

Whenever a developer is fixing any issue, it may affect other parts of the software. Testing existing software applications to make sure that a change or addition hasn’t broken any existing functionality is called regression testing. For regression testing, we verify that newly added feature is not creating any problem in the entire software. Regression testing can be done after verifying the new bugs/features or at the same time while testing the bugs/features. Usually it is done after verification of new changes.

The purpose of regression testing is to catch new bugs that may have been accidentally created into release. For small projects, we can test the entire product with the help of test cases. For most cases, it’s difficult to check the entire product by manual testing. So automated testing is used. In Fedena, we test software manually. Regression testing helps us improve the quality of the product. The main reason for regression testing is to determine whether the change in one part of the software affects the entire software’s functionality. Sometimes, it may affect other parts of the software as well. It will reduce the quality of the product.

 

Testing Process

In Fedena, we use regression testing after developing new features or after fixing the bugs. It helps us to find new bugs that may arise due to fixing other bugs or adding new features. Most of the Fedena modules are related to each other. So, if we fix one issue in Fedena, it may create another issue in some other part of it. Sometimes we miss some bugs at the time of testing features. Most of these issues will come to notice during regression testing. In Fedena, we have found several issues during regression testing.

An example of regression testing

In Fedena we have two types of attendance

  • Daily wise

  • Subject wise

In subject wise attendance, attendances are related to the timetable. In case of daily wise, attendance its only related to weekdays(working days).

Suppose there is a batch “A”(start date:01/06/2014 and end date 30/6/2014)  which has 5 working days (Monday to Friday). If the batch has daily wise attendance type, then we can mark attendances for this batch based on these week days, i.e we can mark attendance from Monday to Friday. Suppose, on 21/06/2014 , we change the weekdays entry to have  6 working days (Monday to Saturday) now. After this change, attendance count now shows 18 (six working days x 3 weeks) but it should have been 15 (5 working days x 3 week), according to the old scenario.

To fix this issue, changes were introduced to the concept of attendances by the developers. Now, a daily wise attendance relates to the timetable for that particular timetable period. Hence, each of these sets are independent, i.e changes made in one set will not affect the past entries. As a result, the attendance count issue is fixed. Drawback of the new scenario being that timetable has to be created for marking attendance for that period.

Also, due to fixing the earlier issue, another issue pops up in attendance.In the old scenario, since the timetable was not required for marking attendances, we could mark attendances for even those days for which the timetable didn’t exist. But now, since the changes were made, its not possible to mark attendances for those days for which no timetables exists.

Issues of this sort is very difficult to track down if we follow normal testing methodologies. This is where Regression Testing helps us in a great deal. Regression testing is capable of tracking such issues so that necessary steps can be taken to avoid them.

Use of test cases in regression testing

Test case is a set of conditions with which a tester will determine whether a software satisfies all requirements. Test cases have great importance in regression testing. If we create good test cases that include the input and output of the software, then we can test each and every part of the software accurately and catch bugs easily.  If we are testing the software without any test cases we may miss out on some parts. So, we have to create test cases properly. Currently, we are verifying whether any software meets the end user requirements or not. With the help of test case, regression testing helps us to improve the quality of a product.

This Article is written by:

IMG_20140404_124153894

Anoop K

A cartoonist with vivid imagination,apart from being a strike bowler for the Foradian cricket team, Anoop loves playing caroms and watching movies.

The All New Additional Leaves Feature by Fedena 3.1

Blog-graphics (3)

The all new Additional Leaves feature offered by Fedena 3.1 allows to grant additional leaves to employees and keep a track of it as well. Generally, the leaves allotted to employees of any institution are divided under various categories like casual leave, sick leave, earned leave, etc. An employee who wants extra leaves under any section can be categorised as additional leave. With this feature, you can manage all additional leaves permitted to employees in your institution. This article will assist you to know how the feature works.

How it Works

Login to your account and go to ‘Human Resource’ in ‘Administration’. In ‘Human Resource’, select ‘Employee Leave Management’.

 

additional_2.png

‘Employee Leave Management’ will take you to the ‘Manage Attendance’ page where you need to select the ‘Attendance Register’.

 

additional_3.png

 

’Attendance Register’, on selection will ask you to select the department for which you need to check the register to mark any of the employees for additional leaves.

 

additional_4.png

 

Once the additional leaves are allocated, you can check the number of additional leaves taken by an employee for which you need to go to ‘Attendance Report’ in ‘Employee Leave Management’ of the ‘Human Resource’ module. Selecting ‘Attendance Report’ will take you to ‘Employee Attendance’ page where you need to select the ‘Additional Leaves’ option.

 

additional_5.png

Select ‘Additional Leaves’ and it will take you to the ‘Additional Leave History’ page.

 

additional_6.png

 

Select the month, year and also the department for which you want to know about the employee who had taken additional leaves.

 

additional_7.png

In the above screenshot, as you can see, the employee had taken additional leave under the Earned Leave or EL category.

 

Note: Only the admin or a privileged user can allot and check additional leaves of any employee.

Fundamental Changes Between Environments of Fedena, Uzity & Flux: Experience with Ruby on Rails – Part I

Ruby (1)

 
During the course of working at Foradian for about 3 years, I had the chance to work as a developer in different applications including Fedena, Uzity and Flux. All three applications based on Ruby on Rails but in different versions of both rubies and rails. Fedena is an Education Institution Management System, Uzity is a Learning Management System(LMS) which was recently launched and Flux is an in-house task assignment tracker.
 
This is a series of articles comparing the different rails environments, beginning with this one covering the fundamental changes between environments of Fedena, Uzity and Flux.
 
In all of the three applications, the stable versions of both Ruby and Rails were set as the environment while the application development was initiated. The operating environment of the three are:
 

Fedena

Uzity

Flux

Ruby

1.8.7

1.9.2

2.1.1

Rails

2.3.5

3.2.1

4.0.5

 

CLI commands

 
Tasks like generating a rails application, starting the server, entering the console, creating its elements like models, controllers, views, migration etc, requires some terminal commands. These had also seen some major changes with these environments. While using rails 2.3.x, most commands were prefixed with script whereas it got replaced by ‘rails’ in versions 3.2 and 4.0.

 

Command

Fedena environment
(Rails 2.3.5)

Uzity environment
(Rails 3.2.1)

Flux environment
(Rails 4.0.5)

New application

rails <app name>

rails new <app name>

rails new <app name>

Start server

script/server

rails server
or
rails s

rails server
or
rails s

Open console

script/console

rails console
or
rails c

rails console
or
rails c

Generate

script/generate <generator>

rails generate <generator>
or
rails g <generator>

rails generate <generator>
or
rails g <generator>

Destroy

script/destroy

rails destroy <generator>
or
rails d <generator>

rails destroy <generator>
or
rails d <generator>

About

script/about

rake about

rake about

Plugin install

script/plugin install

rails plugin install

(feature removed)

 
The trouble while switching from a 3.2 version of rails or higher to 2.3.5 is the use of rails command. Any command following ‘rails’ will create a new app with the name in the folder.
 
Plugins & Gems
 
Plugins and gems can be used to expand the features and capabilities of a rails application. Both can be shared and reused. Plugins have to be loaded from the ‘vendor/plugins’ directory whereas the gem will be accessed through rubygems. Gems are packages as per the specifications of RubyGems and can be upgraded whenever needed, Also, a gem can define its dependencies and a gem can be used by more than one application. Plugin can be considered as an extension of Rails and need to be added manually in the application and hooked into the ‘init.rb’ file in order to use that. Plugins need to be installed and upgraded manually whereas gems can be managed centrally using bundler. Plugins are present in both Rails 2.3.x and rails 3.2. Plugins got deprecated with rails 3.2 which means it will no longer be supported by rails 4. Plugin is a good way to increase the capabilities of an app without modifying the base application. Plugin system is used in Fedena to add more and more features without modifying the core.
 
Asset pipeline
 
Asset pipeline was introduced by default in Rails 3.1. Prior to that its functionality could be added manually by using ‘sprockets’ gem. This technique is used to combine and minify javascript and stylesheets. Using Asset pipeline, assets can be centralized to a single file of the asset type and will be compressed. This can reduce the number of browser requests.To make the minified file unique and to prevent using the browser cache version, an md5 digest will be appended to the filename. The assets are located in app/assets folder and the javascripts and stylesheets have been moved into this folder from ‘public’ directory.
 
Asset loading in Uzity
 

Javascript and Stylesheets loading in Fedena

 
Bundler
 
In rails 2.3.x, the initial setup to get an app running was a tedious job due to the vagueness in specifying the gems. Bundler is a gem which can track and install exact versions of Gems needed in the project. The gem and their specified version will be added to a file, ‘Gemfile’ in the root folder of the application. Bundler was originated as a gem which could be added manually to the application and was later added by default in Rails version 3.2 and higher. Usage of bundler makes the application gem requirements much easier just by running the command ‘bundle install’. Entire set of gems unless version specified can be updated with a single command ‘bundle update’ to their latest stable versions. Bundler is present in Uzity and Flux. Bundler is not present in Fedena by default, but had been added in some cases.
 
Turboli nks
 
Like Bundler, Turbolinks is another gem which originated as a standalone gem and was added to a rails application by default. Turbolinks was added to Gemfile by default in rails 4.0. Turbolinks make use of pushstate in HTML5 supporting browsers. In this, an arbitrary data will be inserted into the session history. Instead of recompiling javascripts and css between url change, only head and body content in the loaded instance of the page. This can bring about a single page app like feel and performance between page navigation. Flux being a rails 4 app, Turbolinks has been used and has aided in making the application very much faster.
 
JavaScript frameworks
 
There are several Javascript libraries in existence. They make writing JavaScript much simpler and adds a lot of functionality to the browser, especially AJAX. Rails 2.3.5 includes prototype by default, so does Fedena. Rails 3 replaced by jquery using jquery-rails gem. In addition to the prototype js, jQuery is also used in Fedena in noconflict mode. In addition to jQuery, Uzity also uses backbone for structure of the app. Flux also makes use of jQuery.
 
CoffeeScript
 
CoffeeScript is a little language that compiles into JavaScript. CoffeScript can reduce the lines of script needed. CoffeeScript is a relatively new script and had been added as default through gem in Rails 3.1 onwards. Both Uzity and Flux uses CoffeeScript. Most of the modern browsers supports CoffeeScript, but for the sake of compatibility it is still compiled into JavaScript and delivered to browsers. Usage of CoffeeScript in this way does not impact the runtime. The efficiency of CoffeeScript compared to JavaScript can be illustrated in this example in which both does the same task.
 
CoffeeScript example
 

adjust_slim: () ->
   if $('#tab-content').length != 0
     target_height = $(window).height() - $('#tab-content').offset().top
     $('.people .slimScrollDiv:first').css('height',target_height+'px')
     $('.people .slimScrollDiv div:first').css('height',target_height+'px')
$(window).resize =>
   @adjust_slim()

 

JavaScript version of the same

 

({
 adjust_slim: function() {
   var new_height;
   if ($('#tab-content').length !== 0) {
     new_height = $(window).height() - $('#tab-content').offset().top;
     $('.people .slimScrollDiv:first').css('height', new_height + 'px');
     return $('.people .slimScrollDiv div:first').css('height', new_height + 'px');
   }
 }
});
$(window).resize((function(_this) {
 return function() {
   return _this.adjust_slim();
 };
})(this));

SASS

SASS, Syntactically Awesome Stylesheets is a new scripting language that will be converted into css. It is added as a default gem from rails 3.1 and newer through Gemfile. SASS written in ‘SCSS’ format is used in both Uzity and Flux. SASS provides variables, mixins, nesting etc.. Frequently used colors and dimensions etc.  can be added as variables and called so that change can be made in the variable alone to have an overall impact like changing a theme. Also nesting can be used here which CSS does not support. Using mixins already defined style can be reused.

example:

scss:

$color1: #333333;
$color2: #c0392b;
body{
  color: $color1;
  .grey-link{color:$color2;}
  .hover{
    .grey-link{color: $color1;}
    .grey-link:hover{color: $color2;}
    button{background:$color2;}
  }
}

css of the same

body {
  color: #333333;
}
body .grey-link {
  color: #c0392b;
}
body .hover .grey-link {
  color: #333333;
}
body .hover .grey-link:hover {
  color: #c0392b;
}
body .hover button {
  background: #c0392b;
}

These are some of the basic concepts that have been undergone some changes including deprecation and inclusions throughout from rails 2.3.x to 4.0.x. Changes in caching, routing, eager loading, deployment etc will be covered in the next part.

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”.
 

What goes Behind the Scenes – The Fedena Engineering Process

Fedena Engineering ProcessWhen it comes to process, as in most of the organizations, there happens to be a time of complete absence, experimentation and trial and errors. So was once Foradian. While developing Fedena, we had a streak when we were trying out processes which we saw in text books or internet or sometimes from past organizations. Waterfall, Y model, XP, Agile, requirement analysis, design, development, testing, releases and more, all of these and many other priorities kept us in the queue for a better plan. And in the end, like it’s the time which defines anything, we are at a point where our engineering team has structured a process, which we think is the best, at least at the moment.

History: Agile, the Holy Grail

We were advocates of Agile Methodology(we still are). You might be knowing Fedena is built on Ruby on Rails. Rails people like most other modern programmers, speaks agile, and it was considered as the remedy to their questions.  And that trend at the time lead us to go agile (or was it a conversation between our CEO and CTO where one of them said, ‘lets  go agile!’). At that time Fedena were already in the market and in its infancy. The development comprised of customization, and feature enhancements. And yes, its true that the Fedena engineering team had this prestigious privilege  on deciding what new features has to be built, when to build it and when to ship it (we share it, to be honest). So the process is iterative, we define the requirement X, we designed and developed X in parallel those days, then we test X and release X. If X had some trouble after getting into clients, we iterated the process. And yes we did pair programming, on each module there will be a pair of developers. It went on for long, and the result was fruitful, Fedena grew.

Evolution is true

So Fedena grew, our client base changed. In past there came a time when we had to customize the base application, for many of larger customers. So when it became a pain to manage those intermittent changes, developers taking time to catch on what a particular custom Fedena undergo in previous release and so, we evolved the then followed style. We started keeping a pair per customer, which helped us again in faster delivery, and meanwhile a pair waited for changes from tasks, they where given tasks, which enhanced the core Fedena. At the time we had some 4 pairs. So pair working on a particular customer won’t have to struggle for keeping with the changes.

As of today, Fedena had underwent changes in its business and technical aspects. We now have plugin systems with larger number of features, multi-school environment and even have a SaaS application, more supported languages etc. Engineering team grew bigger. The frequency of change is faster, and these changes has to reach large base of customers across the world. So whenever we thought something is slowing down the whole process, we find that hole and fix it. After so many trial and error process, necessities and discoveries, we came to a more structured process which we follow now.

The Team

The Fedena core engineering team consist of the CTO at its head, then a development team, testing team, support team and R&D. Players of these teams at times play double roles. Development team is even divided to two, the Enhancement team and the Quickie team. The Enhancement team deals with the new features enhancements to existing features, new plugins etc. Whereas the Quickie team bug fixes and quick small features. And its not necessary that everyone stays at the position.

The Process

Mostly the work done on Fedena now are the feature enhancements, bug fixes, app refactors, and internal tools. Each one of these will be a consider as a module unit. So about the process. As I said before, the engineering team has the luxury to take decisions on what has to shipped and when, unless there are unfavorable cases. So the feature enhancement requests can come from three sources, the support, the sales and the R&D, and again there will be other stuffs like I said before. And the requests are picked out, then its planned accordingly, analyzed, designed, developed, tested and locked for release. I will break down those shortly.

Analysis

The source module will be mostly a simple write up, which gives a creamy overview to what has to be done. The write up is handed to the developer pair. They analyze the write up and based on the analysis, submits a requirement document. Once the document gets approved it moves to next phase. This usually is short but iterating process.

Design

This is the most important phase, involving developers, UX team, managers, sometimes even CTO (most of the time) and CEO comes into scene. In this phase the developer breakdowns the requirement and creates user stories out of it. If UI is needed, the docs are shared with UX team. The technical specs are then planned along with this. In between we find anomalies, the we go back to phase 1 and repeat. The final result will be docs defining the user stories, UX/UI design and technical specs.

Development

Once we feel the design phase is over (because it doesn’t end like that, iterates mostly) we proceed to the development. Development as I said earlier is paired, but contrast to the usual pair programming, here one developer will be full time and the other one will be assisting with everything. This helps us in increased delivery in shorter time, as the one assisting will be developing fulltime in some other module. Above that it also helps us to overcomes many of the pair programming nightmares, still retaining the best of it.

So it was about the people involved. We had problems in the past. We develop test and deploy, only then we know that we missed some things, it might be some language keys, or an RTL style, may be a db index or a precision of a column. It happened many times until our CTO came with this miracle recipe of development. It is a checklist that a developer must check before its forwarded for testing. This is now working great. Also at times we feel there is something wrong with the design, then we iterates, go to the requirement which lead to the design, fix it if needed, then fix the design, and come back and fix it in code.

UI/UX Report

The UX person checks the module, and comes up with a report, on whether the design they made is what it appears. Any issues are reported and redone until the team approves it. This is a mandatory process if module contains UI.

Testing

Module testing proceeds in two steps. In first step the test is planned. This step is done along side with the development and after the design. Testing is done by single person. It is in the second step the actual testing occurs. During testing the whole team designers, developers and testers come the scene. The bugs are fixed real time, if parts does not keep up with design again that is raised and fixed. And again if they find problems in design itself as I said, the circle happens again. For a module to go for release, the OK from tester is the first thing.

Code Review

This is one place the second of the pair comes in scene. The code review begins with development but not frequent. And once the development is said complete, the complete code review report is being done. The developer will work towards the point when the reviewer thinks the code is fine.

Release

The left part is the release. We have control over what to be released. Based on that we might stage or lock some modules and release some. These are based on priorities most of the time. And as said before critical issues, which has higher priorities, are released through quick releases. Fedena is installed over multiple client servers, as well as our own servers. So releasing to this huge base of instances itself used to be a very complex and time consuming task. And that lead us to a new invention, an internal tool what we call as Continuous Delivery System. It handles the clients, their business plans, the modules they own and according to theses information, releases to the large base of client installations are done through this system. The system itself is little complex and is piloting internally, so details another time.

So this is the process we follow at the moment. The fact is, there are no perfect process. At the moment this workflow is working very well for Fedena. We still have other plans of additions and changes, one of which being the scrum.  And as I said making a process itself is an evolutionary process. We don’t know which is good until we experiment it and what we use is subjected to constant change. So what we follow is a hybrid of many of models we knew, or we can call it the Fedena Process.

This article is written by:

ismu

 

Ismathullah Aman

Coding makes most his life and when he is not busy with coding and decoding, Ismathullah Aman likes training his super human self and much reading! For Aman, “Life is either a daring adventure or nothing”

Share your comments in the comment section below. For more information on Fedena click the contact button below.

Students can now Select Elective Subjects Easily with Fedena 3.1

F3.1

The earlier version of Fedena didn’t allow students to choose elective subjects on their own and it was the task of the admin or the privileged user to choose elective subject for students on their behalf. With the latest version of Fedena 3.1, students too can opt for their choice of elective subjects. To know more, read this article that describes in detail, how a student can choose an elective subject.

Login as an admin/privileged user

Login to your account and go to ‘Settings’ in ‘Administration’ in the main menu. Once you go to ‘Settings’, select ‘Manage Course/Batch’.

ability_2.png

 

Selecting ‘Manage Course/Batch’’ will take you to the page where you need to select the batch for which selecting elective subject will be allowed. For this, you need to select the particular course and edit.

ability_3.png

Click on ‘Enable elective selection’ to let the students of the particular batch select the subjects of their choice. However, this can also be done while creating a new course itself.

Login as a student

If you are a student who wants to select his/her own elective subject, then login to your account. Go to ‘My profile’ in ‘Academics’.

ability_4.png

 

On clicking ‘More’, you will get ‘My Subjects’ where you can select your elective subject.

 

ability_5.png

Choose any of the elective subjects you want using the ‘Choose elective’ option. Whereas, ‘Remove elective’ option allows you to remove any of the elective subject you have chosen already.

Data Management Plugin to Manage any Kind of Data in your Institution

Data-Management

Managing data in an institution is not an easy task to carry on. Especially, when there are loads of them and very less time to do it. That’s when the Data management Plugin by Fedena comes to the rescue. With this plugin, managing any kind of data in your institution becomes so easy with proper storing of data and managing them effectively. The article will let you know in detailed steps how you use the plugin.

 

The step by step guide

 

  • Get access to ‘Data Management’ in ‘Data and Reports’ when you select the main menu.
  • When you select ‘Data Management’, you will land on the page where you get the options to manage data of your institution.
  • Click on ‘New’ to create new categories for any kind of data management.
  • Fill in all necessary details about the category you create and also the fields that you want to include under the category. Include as many fields using the ‘Add field’ option. When you store the ‘input method’, you have to select any of the three options available- Text Box, Select Box and Check Box. ‘Save’ the new data category created.
  • To fill in further details in the particular data management category that you have created, go back to ‘Data management-Categories’ page and select the respective category.
  • Select ‘New Entry’ and go to the page where you need to store the details for each of the category that you create.
  • Complete storing up details and ‘save’.
  • You can see the details that you store under each category.
  • If required, you can print the page as well using the ‘Print’ option.

Create and Manage Campus News with Fedena’s News Feature

Blog-graphics (1)

Publishing campus news is easy to create and publish with the News management feature by Fedena. All you need to do is to create the news and publish it for your employees and students to check. Creating news and publishing it is so hassle-free with Fedena. Check out the article and know how effortless the task can be carried out.

 

Login as admin/privileged user

  • In order to create any news, login to your Fedena account and go to ‘News’ in ‘Collaboration’ tab.
  • Select ‘News’ and reach the ‘School News’ page. There you can create a fresh news.
  • To add a fresh news, click on ‘Add’.
  • Create a fresh news and publish it. Once the publication is done, the students and employees can see the campus news in their profile too.

 

Login as a student or an employee

  • When you login as an employee or a student, you need to go to ‘News’ in ‘Collaborate’ tab.
  • Select ‘View all’ and select the fresh news that you need to read.
  • Click on the news to see the details and can also leave any comment if you want.

Note: As an admin or a privileged user, you have the right to do comment moderation before they go public. For this, you need to go to ‘General Settings’ in ‘Settings’ available in ‘Administration’.

 

Select ‘Enable News Comment Moderation’ option which will allow you publish moderated comments on news created.

 

 

How to Generate a Student Fee Defaulters Report – Fedena

Blog-graphics

Extract report on students who are fee defaulters so easily with help of the amazing reports feature in Fedena 3.0. If you are thinking about how to extract report on fee defaulters of your institution, check out the article that explains the process in details.

 

How to extract report on student fee defaulters

 

  • If you go to ‘Data and Reports’ and select ‘Reports’, it will take you to the page with all the reports that you can generate from the unique Reports feature.
  • Select ‘Students Fees Defaulters Details’ to generate a report on all the students who are fee defaulters.
  • The report shows details of all the students who are fee defaulters with their ‘Admission no’, the name of the course and batch they belong to along with the number of fee collections that the student is due to pay. Selecting any individual student or the admission number will take you to the respective student’s profile.
  • If you want to see the details of each student’s fee defaults, select the respective ‘Balance’ option and go to the student’s fee default page.
  • You can get all the reports in CSV format as well.

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:

prof_pic_1

 

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.

Flexibility of Fedena Examination Module

Untitled-1
Fedena has an amazing ability to adapt to almost all kinds of examinations and reports that can ever happen in institutions. Thanks to features like Connect exams, Grading system and Exam type which gives the freedom to tailor the application to suit one’s need. Besides generating reports via Report Centre, the Report module has been introduced in the latest release to add yet another series of reports that one seek for. Lets have a glimpse of all the key features that make this possible.

 

Connect Exams

This unique feature helps the user to connect different exam groups based upon the corresponding weightages acquired. “Connect exams” calculates the Final marks of a student by adding  the exam groups as per the weightages attached. So, even if the final result depends upon the percentage of marks scored by the student, we are ready for the required transcript. All we need to do is to connect the exams accordingly to carve out a decent final report.

 

 

Grading System

The additional grading systems available in Fedena currently are – GPA, CWA, CCE. We can decide a grading system for a course, while creating it. The course can now entertain the scores for the required report. For instance, if we are going for GPA or CWA, the system asks for the credit points of subjects unlike its counterparts. However, if a user needs customized grading system, the normal grading system is the one to be used.

 

 

Report Centre

The Report centre in Examinations module is the hub of all possible reports that one can think of. Some of the interesting reports include exam wise reports, subject wise reports, grouped exam reports and archived student reports. These sets help you to generate reports and monitor the progress of a student involving various criteria.

 

Examination settings

The examination settings that we do for grading levels, class designations or the Ranking levels can be divided based upon each of the courses rather than being generic for the institution as a whole. This allows the user to make different settings for each of the batch in the institution.

 

Previous batch Exams

This feature equips the user to add exam scores of previous batches. Thereby making the application adaptive to institutions where the students’ result are published after the batch transfer as in the case of majority of engineering colleges in India.

 

Online Exams

Though the traditional ways of examination are still prevalent, institutions have come up with an increasing need for the conduction of Online exams. This helps the student and the institution to be quick in conduction and the evaluation of the exam. Hence, giving yet another possibility to craft an examination as per the requirement.

 

Generate Reports

In case where the user needs to have the revised result as well as the old result for an examination, Fedena offers the Generate reports option which will change the data in the report centre to current result entered. Taking PDF reports before and after generating reports gives you the privilege of having two different versions of the same exam – revised result and old result.

 

 

So these are some of the important pillars which makes Fedena generic for all kinds of examination and thereby making it more “Flexible”. Stay tuned for the next version of the article to see how Fedena adapts itself  to cater to the needs of Academic Evaluation and Assessment worldwide.

This article is written by:

1185742_10200807421647862_134988297_n


Sandeep Panda

An optimistic techie with special interests in implementing technology in real life situations with  a curiosity for the lesser known technical stuff. An individual who can adapt to cross-cultural environments with ease.

Fedena App Frame Plugin & How to use it

AppFrame

The App Frame plugin of Fedena is of great use, particularly when you want to show any third party application (using Fedena API authentication) to the logged-in user without opening the URL separately in a tab. The plugin allows you to do the same in your school’s Fedena account itself. To know how you can do it, go through the article that holds a detailed account of the entire process.

To try out this plugin, you have to manage client apps first. You can reach ‘Manage Clients’ through ‘Settings’ in ‘Administration’ in the main menu. Once you are in ‘Settings’, select ‘Manage Clients’ to create new clients or manage the old ones.

app frame_1.png

Select ‘Manage Clients’ to create new clients.

app frame_2.png
To create new client app, click on ‘New’ option. But in case, you want to edit or delete any existing account, make use of the options ‘Delete’ or ‘Edit’.

app frame_3.png
Put in client name and the URL you want to see in your school’s Fedena account. Once you are done with creating client app, the next thing you need to do is create app frame. For this, go to ‘Manage Apps’ in ‘Apps’ through ‘Manage Quick Links’.

app frame_4.png

Click on ‘New’ to create a new app frame.

app frame_5.png

Type a name and the URL that was included during the new client creation should be mentioned here too. Select the client name you want and select the privileged users as well.

To see the desired website in your school Fedena account, select the particular App Frame and select the URL.

app frame_6.png

When the URL is selected, it will take you to the website in your Fedena account. A screenshot of the same is provided below.

app frame_7.png