Main Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Darren McDonald

Suggestions / Import/Export Comments with CSV
July 01, 2021, 07:11:27 PM
Hi Liviu, as it's now possible to attach comments to a number of items in FET, would it be possible to include those comments (for subjects, teachers, rooms, etc.) in the exported CSV files, and similarly, to be able to import those comments from a CSV file as well?

I'm asking because this year my school will try to automatically import the FET timetable into our management system (SEQTA), and for this we will use the exported csv files. We use teacher names for teachers within FET (so that our HTML timetables are easily readable, and it's easy to work with), but we need to use their staff ID code for the synchronization. It would be great if all of that data could be stored within FET, and I was thinking of adding the staff ID code as a comment for each teacher, which, if they were exported with the teachers CSV file, would allow us to easily replace the teacher name in the timetable CSV file prior to importing that data into SEQTA.
Many FET users may not have noticed a slight change in the FET main page (I didn't!), which now includes a link to the Free Software Foundation's principles (see here). I myself wasn't aware of the distinction between the principles that distinguish open source software from free software (that's "free" in the sense of freedom), and I think it's worth understanding that distinction.

It's clear that there is an international community of FET users who benefit from Liviu and Volker having decided to adopt the FSF principles in making FET so readily available to us all. Without their support of those principles, we wouldn't have this great software to help us create our timetables, so thank you Liviu and Volker!

Also, if you or your institution is able to help support this great software, please do consider making a donation!
When creating timetables for students in the final two years of high school, I typically use student names as Groups. Within the first couple of months (particularly in International Baccalaureate Diploma Programme schools), there are often a number of changes as students change subject choices.

It would be easier to find student names (to remove them from one activity group, then add them to another) if there were a button that would allow me to sort the selected groups from the Modify Activity screen (perhaps below the Clear button?).

Suggestions / Time Constraint for Activities
July 20, 2017, 04:51:57 PM
While I'm still on holiday/moving, I thought I'd make a few feature feature requests that may be useful (at least they would be useful to me!  :) ). This one is the more difficult of the two.

I've often got a group of activities that need to have the same starting time, for example

Mathematical Studies 1 (1+1+1)
Mathematical Studies 2 (1+1+1)
Mathematics SL 1 (1+1+1)
Mathematics SL 2 (1+1+1)
Mathematics HL (1+1+1+1)

I can use Time>Activities>A set of activities has same starting time (day+hour), but this requires three separate entries (one for the first subactivity of each subject, one for the second subactivity, and one for the third, with the final Mathematics HL subactivity left free), where each constraint involves a list of 5 subactivities (which increases the possibility of error).

Is it possible to introduce a new time constraint that would allow me to constrain, for example, the first n activities of a group of activities? Essentially, I'd like to be able to specify the time constraint(s) above in a single step: providing FET with the relevant activity sets, and then specify that (in this case) the first 3 subactivities should have the same start time (day+hour).
Suggestions / HTML Timetables by Activity Tag
August 10, 2016, 03:38:22 PM
I use activity tags for subjects (English, Mathematics, Biology, etc.), and am often asked to produce departmental timetables (showing all and only Mathematics, or all and only English, etc.)

Currently I've been doing this by deactivating all activities, then activating (through Data>Tags) only those activities with a given tag (Mathematics, etc.). After generating a timetable in this way, I can print the Activities timetable to get a timetable with only those activities for a particular department.

It would be ideal for me if the HTML output had an "Activity Tag" row that produced individual timetables for each activity tag (in the way that "Subjects" produces individual timetables for each subject).
[Update 3: Instructions for creating universal (Mac silicon and Intel processor) versions when compiling on Mac silicon processors were added, and version numbers were updated.]

[Update 2: The directory structure of Qt has recently changed with Qt versions 6.1.3 and 6.2.0, so I've updated the terminal commands accordingly.]

[Update: It's now 2021, and happily the instructions below are still correct. However, I thought it was time to update the formatting of these instructions, and I've added some additional information as well.]

I finally had a chance to dive in and try to compiling FET on the Mac (partly just for fun, but also in order to hopefully solve a few minor bugs that had appeared on the most recently available Mac executable—happily, those bugs are now gone!).

I am by no means a programmer, so I thought it might be helpful to list the steps required to compile FET on a Mac (from essentially a clean install), for anyone else with limited programming experience who's interested in trying to compile FET for the Mac. This was all done on a 2008 MacBook Pro, running OS X El Capitan 10.11.6. [Update: These instructions have also been tested up to macOS Monterey, and on newer Macs, including those with an Apple processor.]

1. Install Xcode (the current version is 13.2.1) from the Mac App Store. (Once installed, you'll need to open the Xcode app to finish the installation.)

2. Install Qt (the current version is 6.2.3) from The default install location is /Users/YOURUSERNAME/Qt, and you can create a (free) Qt account, or just skip past that screen. [Update: if you're just using Qt for FET, you should select to "download for open source".]

3. Download the latest version of the FET source files (the current version is 6.3.0) from The default download location is /Users/YOURUSERNAME/Downloads, and you'll need to double-click the downloaded zip file to produce the folder of files needed to compile.

4. Open the Terminal app and type the following, replacing YOURUSERNAME with the username of your Mac account (which will be the string between "~" and "$" in the Terminal app).

The instructions below are written for the current version of FET (6.3.0) and the current version of Qt (6.2.3), and assume that both Qt and the downloaded FET folder are located in their default locations, /Users/YOURUSERNAME/Qt for Qt and /Users/YOURUSERNAME/Downloads for FET. You will need to press enter after you type each of the commands below. Of course, you will also need to update the version numbers in the commands below as FET and Qt are updated.

cd /Users/YOURUSERNAME/Downloads/fet-6.3.0

/Users/YOURUSERNAME/Qt/6.2.3/macos/bin/qmake -r -spec /Users/YOURUSERNAME/Qt/6.2.3/macos/mkspecs/macx-clang

If you are compiling on a computer with Mac silicon (e.g., an M1 MacBook, etc.) and want to create a version that will run on Intel processors as well, instead of the command above, use

/Users/YOURUSERNAME/Qt/6.2.3/macos/bin/qmake -r -spec /Users/YOURUSERNAME/Qt/6.2.3/macos/mkspecs/macx-clang QMAKE_APPLE_DEVICE_ARCHS="x86_64 arm64"

make -j 4

Now you'll need to wait a while—about 15 minutes on a 2014 MacBook Pro 15". Faster results may be possible by using, for example, make -j 8 instead—with the number at the end of the command set to match the number of processors you've got in your computer. (Not sure how many processors you've got? Type sysctl -n hw.ncpu in the terminal, the number that appears will be the number of processors you've got.)

You now have a working version of FET, but one which will only run on a Mac with Qt installed. To create an app that will run on other Macs, complete step 5.

5. Open the Terminal app and type the following:

cd /Users/YOURUSERNAME/Qt/6.2.3/macos/bin/

./macdeployqt /Users/YOURUSERNAME/Downloads/fet-6.3.0/

6. If you want to use FET in a language other than the default, you'll need to move the translation files into the appropriate location. The files you need to move can be found in /Users/YOURUSERNAME/Downloads/fet-6.3.0/translations—you'll want to move all of the files ending with .qm to a new location. Open a new Finder window and right-click on the you've just created in /Users/YOURUSERNAME/Downloads, and select Show Package Contents. Then open the Contents folder, and finally open the MacOS folder within Contents. This is where you should move the .qm files. Once these have been moved, you switch FET languages within the FET app as usual.

That's it!
Praise and Feedback / Great Stuff!
August 14, 2012, 08:52:02 AM
I've just discovered FET and started using it to create a (rather complicated) middle and high school timetable. I'm using one of the suggestions I found on this forum, preparing a csv file in advance to upload with individual students figuring as subgroups, and it's been working really well.

Thanks to Liviu Lalescu and Yush Yuen (I'm using the Mac Intel version) for your work on this extremely useful and functional software!