Skip to content

Contributions

Atomys edited this page Oct 19, 2023 · 12 revisions

Add Campus to the cluster map

Code Contribution

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:

Steps to Add a Campus

  1. Set Up and Design the Campus Map:
    • Create a new file named galatic.ts in the directory web/ui/src/lib/clustersMap/campus.
    • In this file, define a class named Galactic and fill in its attributes and methods. You can refer to campus/paris.ts as an example.
  2. 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! 🎉

A Note on Cluster Text Entities:

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 display r1.
  • W:: This prefix introduces a Workspace component, followed by the complete identifier of the host. For example, W:e1r1p1 represents the host e1r1p1.
  • 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.

42 Campus Staff Approbation

Before we delve into the specifics of the approval process, let's understand the "why" behind it.

Why is Campus Staff Approbation Important?

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.

Approbation process

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 [email protected] 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.