## Usuaris de Centre
Cada membre de la comunitat escolar disposa del seu usuari @cfaclot.cat. Aquest usuari és personal i intransferible.
A continuació s'enllacen els documents per a la gestió d'aquests usuaris.
ORGANITZACIÓ I ESTRUCTURA DE GOOGLE WORKSPACE
Estructura jeràrquica dels Grups Workspace CFACLOT:
ALUMNES ( ACGS, ANGLÈS, COMPETIC, GES )
ACGS ( ACGSA, ACGSB )
ANGLÈS ( ANGLES1, ANGLES2, ANGLES3 )
ANGLES1 ( ANGLES1A, ANGLES1B )
ANGLES2 ( ANGLES2A, ANGLES2B )
ANGLES3 ( ANGLES3A, ANGLES3B, ANGLES3C )
COMPETIC ( COMPETIC1, COMPETIC2, COMPETIC3 )
COMPETIC1 ( COMPETIC1A, COMPETIC1B )
COMPETIC2 ( COMPETIC2A, COMPETIC2B )
COMPETIC3 ( COMPETIC3A, COMPETIC3B )
GES ( GES1, GES2 )
GES1 ( GES1A, GES1B )
GES2 ( GES2A, GES2B )
Com que la matricula del nostre centre és viva, cada tutor s'encarrega de mantenir l'estructura de cada grup base actualitzada -altes i baixes. D'aquesta manera els grups superiors sempre es mantenen actualitzats.
Vista de la pantalla d'administració de grups del Goglle Worspace CFACLOT
CREACIÓ I GESTIÓ D’USUARIS I CANVI DE CURS
Cada inici de curs cal donar d'alta els nous alumnes en les seves unitats organitzatives corresponents.
A partir de les llistes d'alumnes matriculats es genera, mitjançant eines desenvolupades a l'escola, els arxius .csv que permeten la carrega massiva dels nous correus.
Actualment aquest procés s'implementa amb l'ajuda d'un full de càlcul desenvolupat a l'escola.
No obstant, i donada la complexitat del procés, s'ha experimentat amb un programa Python per agilitzar i millorar les altes massives. Aquest programa també està essent desenvolupat pels professors de l'escola.
Generar_Emails.ipynb
# -*- coding: utf-8 -*-
"""Generar_Emails.ipynb
Original file is located at
https://colab.research.google.com/drive/1-P-iueZJ7L8gZfrUonsZkuEitvKG4GM5
"""
#Imports
import pandas as pd
import csv
import random
import string
from datetime import datetime
#Muntar la unitat ADMIN del Google Drive
from google.colab import drive
drive.mount('/content/drive')
"""Funcions per generar un password.
Utilitzem la segona **generar_random_password**
"""
def password():
random.seed(datetime.now())
p = ( random.random() * 10.000 )
return p
## llista de caràcters admesos al password
cars = list(string.ascii_letters + string.digits + "!@#$%^&*()")
def generar_random_password():
## longitud del password
length = 8
## shuffling els caràcters
random.shuffle(cars)
## agafar caràcters de la llista aleatòriament
password = []
for i in range(length):
password.append(random.choice(cars))
## shuffling el password resultant
random.shuffle(password)
## convertir la llista a string i retornar
p = "".join(password)
return p
"""
Funció per substituir els caràcters no permesos a una adreça de correu.
"""
def replace_esp_car( s ):
s = s.replace("á","a")
s = s.replace("à","a")
s = s.replace("ä","a")
s = s.replace("é","e")
s = s.replace("è","e")
s = s.replace("ë","e")
s = s.replace("í","i")
s = s.replace("ì","i")
s = s.replace("ï","i")
s = s.replace("ó","o")
s = s.replace("ò","o")
s = s.replace("ö","o")
s = s.replace("ú","u")
s = s.replace("ù","u")
s = s.replace("ü","u")
s = s.replace("ñ","n")
s = s.replace("ª","")
return s
#A la variable f_alumnes indicar el fitxer a tractar.
#El fitxer f_csv_output serà l'importable a Google Workspace
#Nom del fitxer amb la llista dels alumnes
f_alumnes = "Llista_Alumnes_TEST.txt"
#Path al Drive del fitxer
path = "/content/drive/Shareddrives/ADMIN/colab/"
#Unitat organitzativa corresponent a Google Workspace
UO = "/Alumnes/GES/GES1"
#Carregem el fitxer a la variables alumnes
fitxer = path + f_alumnes
id_fitxer = open(fitxer,"r")
alumnes = id_fitxer.readlines()
#Obrim l'arxiu .csv per anar escrivint en ell
#El fitxer f_csv_output serà l'importable més tard a Google Workspace
f_csv_output = path + "output.csv"
#Capçalera del .csv
cap_csv = {"First Name": [],
"Last Name": [],
"Email Address": [],
"Password": [],
"Org Unit Path": []}
#Definim un dataframe amb la capçalera del .csv. A aquest dataframe anirem afegint alumnes i després ho exportarem a output.csv
df = pd.DataFrame(cap_csv)
#Procesem línia a línia la llista alumnes
i = 0
for alumne in alumnes:
i += 1
#Converteix la cadena a minúscules i elimina blancs sobrants
s = alumne.lower()
s = " ".join(s.split())
#Elimina caràcters no permesos a un email
s = replace_esp_car(s)
#Extreu nom i cognoms des de s
pos_coma = s.find(",")
cgs = s[0:pos_coma].strip()
nom = s[pos_coma + 1:len(s)].strip()
#Deixem sense més tractament nom i cgs per inserir-ho al dataframe
nom_df = nom.upper()
cgs_df = cgs.upper()
#Extreu cognom 1 i cognom 2 des de cgs
pos_blanc = cgs.find(" ")
cg_1 = cgs[0:pos_blanc].strip()
cg_2 = cgs[pos_blanc + 1:len(cgs)].strip()
#Eliminem blancs de nom, cg_1 i cg_2
nom = nom.replace(" ", "")
cg_1 = cg_1.replace(" ", "")
cg_2 = cg_2.replace(" ", "")
#cg_2 només els dos primers caràcters
cg_2 = cg_2[0:2]
#print(s)
email = nom + "." + cg_1 + "." + cg_2 + "@cfaclot.cat"
p = generar_random_password()
nou_alumne = {'First Name':nom_df, 'Last Name':cgs_df, 'Email Address':email, 'Password':p, 'Org Unit Path':UO}
#afegir nou alumne al dataframe
df = df.append(nou_alumne, ignore_index=True)
print(email)
#print(" ")
#print(df)
df.to_csv(f_csv_output)
"""# New Section
# New Section
"""
SUPERVISIÓ DELS USUARIS DE L'ALUMNAT
El centre disposa d'un protocol de restauració de contrasenyes i de gestió integral de la problemàtica d'un ús massiu dels correus.
Especificar el protocol