-
-
Notifications
You must be signed in to change notification settings - Fork 26
Contributions
Greetings, contributors! 👋
If you believe your campus deserves a spot on S42 and you're eager to contribute to the project, then you're in the perfect place. Below is a step-by-step guide to help you make that happen.
⚠️ Important: Before proceeding, ensure you've read and followed the guidelines outlined in CONTRIBUTING.md.
Regardless of whether you're running the app locally, using codespace, or even on a galactic banana (😉), you can easily add the galatic
campus by following the steps below:
-
Set Up and Design the Campus Map:
- Create a new file named
galatic.ts
in the directoryweb/ui/src/lib/clustersMap/campus
. - In this file, define a class named
Galactic
and fill in its attributes and methods. You can refer tocampus/paris.ts
as an example.
- Create a new file named
-
Run the TypeScript Generator:
- Execute the command
yarn generate:campus
. This powerful script automates a few tasks for you:- It generates the type definitions related to the new campus.
- It updates the
Campuses
constant, ensuring all campuses are in alphabetical order.
- Congratulations, this completes the core contribution process! 🎉
- Execute the command
In your campus design, you might come across various entities. Here's a quick guide to what each entity means:
-
P
: Represents a pillar on the cluster. -
T:
: A prefix used to denote a Text component. For instance,T:r1
would displayr1
. -
W:
: This prefix introduces a Workspace component, followed by the complete identifier of the host. For example,W:e1r1p1
represents the hoste1r1p1
. -
PW
: Designates a space for a personal computer. This isn't tied to any API or display information currently. -
null
: Use this to denote an empty space in the cluster.
ℹ️ Tip: Always run the linter after making changes to ensure the integrity and consistency of your code.
Before we delve into the specifics of the approval process, let's understand the "why" behind it.
With the ever-evolving landscape of data privacy regulations, it is crucial for projects, especially open-source ones, to adhere strictly to data protection standards. Our adherence to the approval process for new campus maps is in line with the demands set forth by the 42network Data Protection Officer (DPO). This ensures:
-
GDPR Compliance: The General Data Protection Regulation (GDPR) mandates stringent guidelines to protect the personal data of European Union (EU) citizens. By obtaining approbation from the campus staff, we ensure that our processing of building maps aligns with these regulations.
-
Data Integrity and Authenticity: Getting a nod from the official campus staff ensures that the data we are integrating is authentic, accurate, and devoid of any misrepresentations.
-
Stakeholder Consent: As we process building maps in our service, it's imperative to have the explicit consent of the primary stakeholders, i.e., the campus staff, ensuring transparency and trust.
All new campus maps REQUIRE validation by the respective campus staff. But don't stress – @42atomys will manage the validation process for you. Do note that this verification can range from a few days to several weeks, depending on the campus.
For Campus Staff: If you're a member of the campus staff, ensure you send an email to contact@s42.app either before a PR is created or once it's opened. This helps in either approving or declining the campus integration promptly. Rest assured, I will reach out to you once a PR for your campus is submitted.
🔍 For detailed processes of each campus, refer to the S42 - Campus integration Project.