in2code/in2studyfinder

List of master's and bachelor's degree programs for colleges and universities

Installs: 16 971

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 14

Forks: 8

Open Issues: 13

Type:typo3-cms-extension

11.0.1 2023-12-28 12:11 UTC

README

Introduction

in2studyfinder is a free and generic TYPO3 extension, which makes it possible to add, maintain and display courses of studies in a structured way with different filterable views. This extension is the basic version, which can be extended by various fields, functions and interfaces and is already widely used by different universities.

Installation

Require in2studyfinder via copmoser: composer require in2code/in2studyfinder or download a current version from [https://github.com/in2code-de/in2studyfinder](in2studyfinder on github) or install in2studyfinder from TER or in the Extension Manager. Include in2studyfinder's TypoScript Template "Basic Template" and "CSS Template" if you want to have a minimum of styles in the frontend (e.g. if you don't want to style it yourself). Create a storage folder in your page tree where you will add your study courses and set all settingsPids and storagePids of in2studyfinder to the storage folder's UID.

Target group

TYPO3 Websites from

  • Colleges + Hochschulen
  • Universities + Universitäten

Examples

Screenshots

Integration at the home page of TH OWL:

Example dashboard overview

Listview at TH OWL:

Example dashboard overview

Detailview at TH OWL:

Example dashboard overview

Listview at TUM:

Example dashboard overview

Listview at Uni Ulm:

Example dashboard overview

Links

Individual modules and functions

in2studyfinder can be extended by individual importers (e.g. from SLCM, Hochschulkompass, HIS, etc.). It's also possible to extend it with new fields or additional tables or add new functions like a keyword filter. Please ask Sandra for more information about additional modules or if you need professional services:

https://www.in2code.de/produkte/studiengangsfinder/

sandra.pohl@in2code.de

Requirements

Version 6.x:

  • TYPO3 8.7 or 9.5
  • PHP 5.6

Version 7.x

  • TYPO3 9.5 or 10.4
  • PHP 7.2

Version 8.x - 10.x

  • TYPO3 11.5
  • PHP 7.4 - 8.0

Version 11.x and above

  • TYPO3 12.4 and above
  • PHP 8.1 and above

Events

ManipulateCsvPropertyBeforeExport: this event allows the manipulation of values before they are exported to the CSV

Contribution

Contributions are always welcome.

In order to ease the contributions, we provide a ddev setup.

  1. install ddev
  2. fork and clone project
  3. cd my/project
  4. ddev start
  5. ddev initialize
  6. open https://studyfinder.ddev.site/typo3/
  7. use admin and password for backend login

Happy coding

Build Css and JavaScript

Requirements: node.js, npm, nvm

cd Resources/Private && nvm use
npm install

Backend

npm run build:backend

Frontend

npm run build:frontend

Javascript Events

it is possible to execute your own javascript code on specific events.

Example:

page.includeJSFooter.studyfinderExtenal = EXT:YOUREXTENSION/Resources/Public/JavaScript/extend.js

extend.js:

if (window.in2studyfinder !== null) {
    let in2studyfinder = window.in2studyfinder;
    let instance = in2studyfinder.getInstance(0);

    instance.pagination.afterLoad = function() {
        console.log('after Load');
    };
}

API:

Studyfinder:

Instance:

nothing yet.

Filter:

nothing yet.

Quicksearch:

nothing yet.

Pagination:

Code quality tools

we use phpmd and phpcs for code quality checks. The quality checks will be executed automatic before a commit with a pre-commit hook.

Some violations can be fixed automatic with the phpcs fixer (phpcbf). For automatic fixes execute ddev ssh and then ./.build/bin/phpcbf

Execute Tests manually:

PHPCS:

ddev ssh
./.build/bin/phpcs

PHPMD:

ddev ssh
./.build/bin/phpmd Classes/ ansi .phpmd.xml

PHPCBF:

ddev ssh
./.build/bin/phpcbf

Migration

Migrations from version 8 to 9 Migrations from version 9 to 10 Migrations from version 10 to 11

External used libraries

* https://tom-select.js.org/

FAQ

  • Q1: Can I use fe_users or tt_address for the persons?
  • A1: Of course, you can map persons to any existing table via TypoScript
  • Q2: I need to import persons from an external service, but how?
  • A2: Please ask in2code for professional service or individual importers

Changelog