turn on banner for 1%
[edumed.git] / edumed / contact_forms.py
1 # -*- coding: utf-8 -*-
2 import re
3
4 from django import forms
5 from django.forms.formsets import BaseFormSet
6 from django.utils.safestring import mark_safe
7 from markdown2 import Markdown
8
9 from contact.forms import ContactForm
10 from django.core.mail import send_mail
11 from django.core.exceptions import ValidationError
12 from django.core.validators import validate_email
13 from django.template.loader import render_to_string
14 from django.utils.translation import ugettext_lazy as _
15
16 LINK_PATTERNS = [
17     (re.compile(r'((http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,;@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?)'),
18      r'\1')
19 ]
20
21 markdown = Markdown(extras=["link-patterns", 'code-friendly'], link_patterns=LINK_PATTERNS)
22
23 WOJEWODZTWA = (
24     u'dolnośląskie',
25     u'kujawsko-pomorskie',
26     u'lubelskie',
27     u'lubuskie',
28     u'łódzkie',
29     u'małopolskie',
30     u'mazowieckie',
31     u'opolskie',
32     u'podkarpackie',
33     u'podlaskie',
34     u'pomorskie',
35     u'śląskie',
36     u'świętokrzyskie',
37     u'warmińsko-mazurskie',
38     u'wielkopolskie',
39     u'zachodniopomorskie',
40 )
41
42 WOJEWODZTWO_CHOICES = [(u'', u'(wybierz)')] + [(w, w) for w in WOJEWODZTWA]
43
44
45 class RegistrationForm(ContactForm):
46     form_tag = 'sugestie'
47     form_title = u"Zgłoś sugestię"
48     admin_list = ['podpis', 'contact', 'temat']
49
50     contact = forms.EmailField(label=u'E-mail', max_length=128, required=False)
51     podpis = forms.CharField(label=u'Podpis', max_length=128, required=False)
52     temat = forms.CharField(label=u'Temat zgłoszenia', max_length=255)
53     tresc = forms.CharField(label=u'Treść', widget=forms.Textarea, max_length=1800)
54
55
56 class CooperateForm(ContactForm):
57     form_tag = 'wspolpraca'
58     form_title = u"Bądź z nami w kontakcie"
59     admin_list = ['podpis', 'contact']
60
61     podpis = forms.CharField(label=u'Imię i nazwisko', max_length=128)
62     contact = forms.EmailField(label=u'E-mail', max_length=128)
63     instytucja = forms.CharField(
64         label=u'Instytucja (nazwa, adres)', widget=forms.Textarea, max_length=1000, required=False)
65     uwagi = forms.CharField(label=u'Uwagi', widget=forms.Textarea, max_length=1800, required=False)
66         
67     zajecia_przedszkole = forms.BooleanField(label=u'Prowadzę zajęcia z dziećmi w wieku przedszkolnym', required=False)
68     zajecia_sp13 = forms.BooleanField(label=u'Prowadzę zajęcia z dziećmi z SP kl. 1-3', required=False)
69     zajecia_sp46 = forms.BooleanField(label=u'Prowadzę zajęcia z dziećmi z SP kl. 4-6', required=False)
70     zajecia_gimnazjum = forms.BooleanField(label=u'Prowadzę zajęcia z młodzieżą w wieku gimnazjalnym', required=False)
71     zajecia_ponadgimnazjalne = forms.BooleanField(
72         label=u'Prowadzę zajęcia z młodzieżą ze szkół ponadgimnazjalnych', required=False)
73     zajecia_wyzsze = forms.BooleanField(label=u'Prowadzę zajęcia w szkole wyższej', required=False)
74     zajecia_dorosli = forms.BooleanField(label=u'Prowadzę zajęcia dla dorosłych', required=False)
75     zajecia_seniorzy = forms.BooleanField(label=u'Prowadzę zajęcia dla seniorów', required=False)
76     zgoda_dane = forms.BooleanField(
77         label=u'Oświadczam, że wyrażam zgodę na przetwarzanie moich danych osobowych zawartych '
78               u'w niniejszym formularzu zgłoszeniowym przez Fundację Nowoczesna Polska '
79               u'(administratora danych) z siedzibą w Warszawie (00-514) przy ul. Marszałkowskiej 84/92 '
80               u'lok. 125 w celu otrzymywania newslettera Edukacja medialna. Jednocześnie oświadczam, '
81               u'że zostałam/em poinformowana/y o tym, że mam prawo wglądu w treść swoich danych '
82               u'i możliwość ich poprawiania oraz że ich podanie jest dobrowolne, ale niezbędne '
83               u'do dokonania zgłoszenia.')
84
85
86 class ContestForm(ContactForm):
87     form_tag = 'konkurs'
88     form_title = u"Zgłoś się do konkursu"
89     admin_list = ['nazwisko', 'instytucja', 'tytul']
90
91     nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=128)
92     contact = forms.EmailField(label=u'Adres e-mail', max_length=128)
93     instytucja = forms.CharField(label=u'Instytucja (nazwa, adres)', widget=forms.Textarea, max_length=1000)
94     tytul = forms.CharField(
95         label=u'Tytuł przeprowadzonej lekcji',
96         help_text=u'proszę wymienić wszystkie, jeśli zostały przeprowadzone więcej niż jedne zajęcia',
97         widget=forms.Textarea, max_length=1000)
98     uczestnicy = forms.CharField(label=u'Liczba uczestników', max_length=64)
99     trudnosci = forms.CharField(
100         label=u'Czy w trakcie zajęć pojawiły się jakieś trudności? Jeśli tak, to jakie?',
101         widget=forms.Textarea, max_length=2000)
102     pomocne = forms.CharField(
103         label=u'Co w materiałach okazało się najbardziej pomocne w przygotowaniu i prowadzeniu lekcji?',
104         widget=forms.Textarea, max_length=2000)
105     nieprzydatne = forms.CharField(
106         label=u'Co w materiałach okazało się nieprzydatne w przygotowaniu i prowadzeniu lekcji?',
107         widget=forms.Textarea, max_length=2000)
108     poprawic = forms.CharField(
109         label=u'Jak możemy poprawić serwis edukacjamedialna.edu.pl?',
110         widget=forms.Textarea, max_length=2000, required=False)
111     inne = forms.CharField(label=u'Inne uwagi i komentarze', widget=forms.Textarea, max_length=2000, required=False)
112     zgoda_regulamin = forms.BooleanField(
113         label=u'Znam i akceptuję regulamin konkursu Medialog.',
114         help_text=u'Zobacz <a href="/media/chunks/attachment/Regulamin_konkursu_MediaLog_1.pdf">'
115                   u'regulamin konkursu MediaLog</a>.')
116     zgoda_informacje = forms.BooleanField(
117         label=u'Wyrażam zgodę na otrzymywanie informacji od Fundacji Nowoczesna Polska związanych z edukacją medialną.',
118         required=False
119     )
120
121
122 class UdzialForm(ContactForm):
123     form_tag = 'udzial'
124     form_title = u"Udział"
125     admin_list = ['nazwisko', 'miejscowosc', 'instytucja']
126
127     nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=128)
128     miejscowosc = forms.CharField(label=u'Miejscowość', max_length=128)
129     instytucja = forms.CharField(label=u'Nazwa organizacji/instytucji', max_length=128)
130     contact = forms.EmailField(label=u'Adres e-mail', max_length=128)
131     telefon = forms.CharField(label=u'Telefon', max_length=32)
132     uczestnicy = forms.IntegerField(label=u'Przewidywana liczba uczestników zajęć')
133
134
135 class WTEMStudentForm(forms.Form):
136     first_name = forms.CharField(label=u'Imię', max_length=128)
137     last_name = forms.CharField(label=u'Nazwisko', max_length=128)
138     email = forms.EmailField(label=u'Adres e-mail', max_length=128)
139     form_tag = "student"
140
141
142 class NonEmptyBaseFormSet(BaseFormSet):
143     """
144     Won't allow formset_factory to be submitted with no forms
145     """
146     def clean(self):
147         for form in self.forms:
148             if form.cleaned_data:
149                 return
150         forms.ValidationError(u"Proszę podać dane przynajmniej jednej osoby.")
151
152
153 class WTEMForm(ContactForm):
154     disabled = True
155     disabled_template = 'wtem/disabled_contact_form.html'
156     form_tag = "wtem"
157     form_title = u"WTEM - rejestracja uczestników"
158     submit_label = u"Wyślij zgłoszenie"
159     admin_list = ['imie', 'nazwisko', 'institution']
160     form_formsets = {
161         'student': forms.formsets.formset_factory(
162             WTEMStudentForm, formset=NonEmptyBaseFormSet, max_num=5, validate_max=True, extra=5),
163     }
164
165     contact = forms.EmailField(label=u'Adres e-mail opiekuna/opiekunki', max_length=128)
166     imie = forms.CharField(label=u'Imię', max_length=128)
167     nazwisko = forms.CharField(label=u'Nazwisko', max_length=128)
168     function = forms.CharField(label=u'Pełniona funkcja', max_length=255)
169     institution = forms.CharField(label=u'Nazwa instytucji', max_length=255)
170     institution_address = forms.CharField(label=u'Adres instytucji', widget=forms.Textarea, max_length=1000)
171     institution_email = forms.EmailField(label=u'Adres e-mail instytucji', max_length=128)
172     institution_phone = forms.CharField(label=u'Telefon do instytucji', max_length=32)
173     institution_www = forms.URLField(label=u'Strona WWW instytucji', max_length=255, required=False)
174
175     zgoda_regulamin = forms.BooleanField(
176         label=u'Znam i akceptuję regulamin Wielkiego Turnieju Edukacji Medialnej.',
177         help_text=u'Zobacz <a href="/media/chunks/attachment/regulamin_III_edycja.pdf">'
178                   u'regulamin Wielkiego Turnieju Edukacji Medialnej</a>.'
179     )
180     zgoda_dane = forms.BooleanField(
181         label=u'Wyrażam zgodę na przetwarzanie moich danych osobowych oraz danych osobowych moich podopiecznych.',
182         # help_text=u'Zobacz <a href="/media/chunks/attachment/Oswiadczenie_o_danych_osobowych.pdf">'
183         # 'pełną treść oświadczenia</a>.'
184     )
185
186     potw_uczniowie = forms.BooleanField(
187         label=u'Potwierdzam, że zgłoszeni Uczestnicy/Uczestniczki w chwili rejestracji są '
188               u'uczniami/uczennicami szkoły ponadgimnazjalnej.',
189     )
190     zgoda_informacje = forms.BooleanField(
191         label=u'Wyrażam zgodę na otrzymywanie informacji od Fundacji Nowoczesna Polska '
192               u'związanych z edukacją medialną.',
193         required=False
194     )
195
196     extract_types = (dict(slug='extended', label=_('extended')),)
197
198     @staticmethod
199     def get_extract_fields(contact, extract_type_slug):
200         fields = contact.body.keys()
201         fields.pop(fields.index('student'))
202         fields.extend(['contact', 'student_first_name', 'student_last_name', 'student_email'])
203         return fields
204
205     @staticmethod
206     def get_extract_records(keys, contact, extract_type_slug):
207         toret = [dict()]
208         for field_name in keys:
209             if field_name.startswith('student_'):
210                 continue
211             if field_name == 'contact':
212                 val = contact.contact
213             else:
214                 val = contact.body[field_name]
215             toret[0][field_name] = val
216         
217         current = toret[0]
218         for student in contact.body['student']:
219             for attr in ('first_name', 'last_name', 'email'):
220                 current['student_' + attr] = student[attr]
221             if current not in toret:
222                 toret.append(current)
223             current = dict()
224         return toret
225
226     def save(self, request, formsets=None):
227         contact = super(WTEMForm, self).save(request, formsets)
228
229         mail_subject = render_to_string('contact/wtem/student_mail_subject.html').strip()
230         mail_body = render_to_string('contact/wtem/student_mail_body.html')
231         for formset in formsets or []:
232             for f in formset.forms:
233                 email = f.cleaned_data.get('email', None)
234                 try:
235                     validate_email(email)
236                 except ValidationError:
237                     pass
238                 else:
239                     send_mail(mail_subject, mail_body, 'edukacjamedialna@nowoczesnapolska.org.pl', [email],
240                               fail_silently=True)
241
242         return contact
243
244
245 class CommissionForm(forms.Form):
246     name = forms.CharField(label=u'Imię i nazwisko Członka Komisji', max_length=128)
247     form_tag = "commission"
248
249
250 class OlimpiadaForm(ContactForm):
251     disabled = True
252     disabled_template = 'wtem/disabled_contact_form.html'
253     form_tag = "olimpiada"
254     form_title = u"Olimpiada Cyfrowa - Elektroniczny System Zgłoszeń"
255     submit_label = u"Wyślij zgłoszenie"
256     admin_list = ['nazwisko', 'school']
257     form_formsets = {
258         'student': forms.formsets.formset_factory(WTEMStudentForm, formset=NonEmptyBaseFormSet),
259         'commission': forms.formsets.formset_factory(CommissionForm, formset=BaseFormSet),
260     }
261
262     contact = forms.EmailField(label=u'Adres e-mail Przewodniczącego/Przewodniczącej', max_length=128)
263     przewodniczacy = forms.CharField(label=u'Imię i nazwisko Przewodniczącego/Przewodniczącej', max_length=128)
264     school = forms.CharField(label=u'Nazwa szkoły', max_length=255)
265     school_address = forms.CharField(label=u'Adres szkoły', widget=forms.Textarea, max_length=1000)
266     school_email = forms.EmailField(label=u'Adres e-mail szkoły', max_length=128)
267     school_phone = forms.CharField(label=u'Numer telefonu szkoły', max_length=32)
268     school_www = forms.URLField(label=u'Strona WWW szkoły', max_length=255, required=False)
269
270     zgoda_regulamin = forms.BooleanField(
271         label=u'Znam i akceptuję Regulamin Olimpiady Cyfrowej.',
272         help_text=u'Zobacz <a href="https://olimpiadacyfrowa.pl/regulamin/" target="_blank">'
273                   u'regulamin Olimpiady Cyfrowej</a>.'
274     )
275     zgoda_dane = forms.BooleanField(
276         label=u'Oświadczam, że wyrażam zgodę na przetwarzanie danych osobowych zawartych w niniejszym formularzu '
277               u'zgłoszeniowym przez Fundację Nowoczesna Polska (administratora danych) z siedzibą w Warszawie (00-514) '
278               u'przy ul. Marszałkowskiej 84/92 lok. 125 na potrzeby organizacji Olimpiady Cyfrowej. Jednocześnie '
279               u'oświadczam, że zostałam/em poinformowana/y o tym, że mam prawo wglądu w treść swoich danych '
280               u'i możliwość ich poprawiania oraz że ich podanie jest dobrowolne, ale niezbędne do dokonania '
281               u'zgłoszenia.')
282
283     extract_types = (dict(slug='extended', label=_('extended')),)
284
285     @staticmethod
286     def get_extract_fields(contact, extract_type_slug):
287         fields = contact.body.keys()
288         if 'student' in fields:
289             fields.remove('student')
290         fields.extend(['contact', 'student_first_name', 'student_last_name', 'student_email'])
291         return fields
292
293     @staticmethod
294     def get_extract_records(keys, contact, extract_type_slug):
295         toret = [{}]
296         for field_name in keys:
297             if field_name.startswith('student_'):
298                 continue
299             if field_name == 'contact':
300                 val = contact.contact
301             else:
302                 val = contact.body[field_name]
303             toret[0][field_name] = val
304
305         current = toret[0]
306         if 'student' in contact.body:
307             for student in contact.body['student']:
308                 for attr in ('first_name', 'last_name', 'email'):
309                     current['student_' + attr] = student[attr]
310                 if current not in toret:
311                     toret.append(current)
312                 current = {}
313         return toret
314
315     def save(self, request, formsets=None):
316         contact = super(OlimpiadaForm, self).save(request, formsets)
317
318         mail_subject = render_to_string('contact/olimpiada/student_mail_subject.html').strip()
319         mail_body = render_to_string('contact/olimpiada/student_mail_body.html')
320         for formset in formsets or []:
321             if formset.prefix == 'student':
322                 for f in formset.forms:
323                     email = f.cleaned_data.get('email', None)
324                     try:
325                         validate_email(email)
326                     except ValidationError:
327                         pass
328                     else:
329                         send_mail(mail_subject, mail_body, 'edukacjamedialna@nowoczesnapolska.org.pl', [email],
330                                   fail_silently=True)
331
332         return contact
333
334
335 class MILForm(ContactForm):
336     form_tag = 'mil'
337     form_title = _('Share your thoughts on the "Media and information literacy competencies catalogue"')
338     submit_label = _('Submit')
339     base_template = 'base_mil.html'
340     site_name = site_domain = 'katalog.nowoczesnapolska.org.pl'
341
342     name = forms.CharField(label=_('Name and Surname'), max_length=255)
343     contact = forms.EmailField(label=_('E-mail'), max_length=255)
344
345     institution = forms.CharField(label=_('Institution'), widget=forms.Textarea, max_length=8192)
346
347     question_stages = forms.CharField(
348         label=_('What do you think about the proposed educational stages classification?'),
349         widget=forms.Textarea,
350         max_length=255,
351         required=False)
352
353     question_fields = forms.CharField(
354         label=_('What do you think about the proposed thematic fields?'),
355         widget=forms.Textarea,
356         max_length=255,
357         required=False)
358
359     question_left_out = forms.CharField(
360         label=_('What important areas of media and information literacy have been left out?'),
361         widget=forms.Textarea,
362         max_length=255,
363         required=False)
364
365     other = forms.CharField(
366         label=_('Other suggestions and comments'),
367         widget=forms.Textarea,
368         max_length=255,
369         required=False)
370
371
372 class TEMForm(ContactForm):
373     form_tag = 'tem'
374     form_title = u"TEM - szkolenie dla trenerów edukacji medialnej"
375     admin_list = ['imie', 'nazwisko', 'instytucja', 'contact']
376
377     imie = forms.CharField(label=u'Imię', max_length=128)
378     nazwisko = forms.CharField(label=u'Nazwisko', max_length=128)
379     contact = forms.EmailField(label=u'E-mail', max_length=128)
380     telefon = forms.CharField(label=u'Tel. kontaktowy', max_length=128)
381     instytucja = forms.CharField(label=u'Instytucja', max_length=256)
382     adres = forms.CharField(label=u'Adres', widget=forms.Textarea, max_length=1000)
383     stanowisko = forms.CharField(label=u'Stanowisko', max_length=256)
384     doswiadczenie = forms.CharField(
385         label=u'Jakie jest Pani/Pana doświadczenie w zakresie edukacji medialnej?',
386         widget=forms.Textarea, max_length=500, help_text=u'(max 500 znaków)')
387     dlaczego = forms.CharField(
388         label=u'Dlaczego chce Pani/Pan wziąć udział w szkoleniu?',
389         widget=forms.Textarea, max_length=500, help_text=u'(max 500 znaków)')
390     jak_wykorzystac = forms.CharField(
391         label=u'Jak zamierza Pan/Pani wykorzystać wiedzę zdobytą w czasie szkolenia?',
392         widget=forms.Textarea, max_length=500, help_text=u'(max 500 znaków)')
393
394     zajecia = forms.BooleanField(
395         label=u'W okresie wrzesień-październik 2015 r. przeprowadzę min. 2 godziny zajęć edukacji medialnej '
396               u'z wybraną grupą dzieci lub młodzieży.', required=True)
397     zgoda_informacje = forms.BooleanField(
398         label=u'Wyrażam zgodę na otrzymywanie informacji od Fundacji Nowoczesna Polska '
399               u'związanych z edukacją medialną.', required=False)
400
401
402 class SuperwizjaForm(ContactForm):
403     form_tag = 'superwizja'
404     form_title = u"Informacje o zajęciach"
405     admin_list = ['nazwisko', 'contact', 'skype', 'temat']
406     submit_label = u'Wyślij'
407
408     nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=1024)
409     contact = forms.CharField(label=u'E-mail kontaktowy', required=False)
410     skype = forms.CharField(label=u'Nazwa użytkownika Skype', max_length=255)
411     temat = forms.CharField(label=u'Temat zajęć', max_length=1024)
412     termin = forms.CharField(label=u'Termin zajęć', max_length=1024)
413     czas_trwania = forms.CharField(label=u'Czas trwania zajęć', max_length=1024)
414     miejsce = forms.CharField(label=u'Miejsce prowadzenia zajęć', max_length=1024)
415     rodzaj = forms.ChoiceField(
416         label=u'Rodzaj zajęć', widget=forms.RadioSelect,
417         choices=[('jednorazowe', 'jednorazowe'), ('w ramach cyklu', 'w ramach cyklu')])
418     cykl = forms.CharField(label=u'Jeśli w ramach cyklu, to podaj jego temat i czas trwania', required=False)
419     sposob = forms.ChoiceField(
420         label=u'Sposób prowadzenia zajęć', widget=forms.RadioSelect,
421         choices=[('samodzielnie', 'samodzielnie'), (u'z drugą osobą', 'z drugą osobą')])
422     wrazenia = forms.CharField(
423         label=u'Opisz Twoje ogólne wrażenia po warsztacie.', widget=forms.Textarea, max_length=4096)
424     opiekun = forms.CharField(
425         label=u'Czy opiekun grupy był obecny podczas zajęć? Jeśli tak, opisz krótko jego rolę.',
426         widget=forms.Textarea, max_length=4096)
427     grupa = forms.CharField(
428         label=u'Opisz krótko grupę uczestników zajęć (wiek, liczba osób, czy to pierwszy kontakt z grupą).',
429         widget=forms.Textarea, max_length=4096)
430     cel = forms.CharField(
431         label=u'Jaki był założony cel zajęć? Dlaczego wybrałaś/eś taki cel?', widget=forms.Textarea, max_length=4096)
432     ewaluacja = forms.CharField(
433         label=u'W jaki sposób sprawdziłeś/aś, czy cel zajęć został zrealizowany? Opisz krótko efekty zajęć.',
434         widget=forms.Textarea, max_length=4096)
435     # header
436     przygotowania = forms.CharField(
437         label=u'Opisz w punktach proces przygotowania się do zajęć.', widget=forms.Textarea, max_length=4096)
438     przygotowania_trudnosci = forms.CharField(
439         label=u'Co na etapie przygotowań sprawiło Ci największą trudność?', widget=forms.Textarea, max_length=4096)
440     przygotowania_pomoc = forms.CharField(
441         label=u'Co było pomocne w przygotowaniu zajęć? '
442               u'(Czy korzystałaś/eś z materiałów z serwisu edukacjamedialna.edu.pl? Jeśli tak, to jakich?)',
443         widget=forms.Textarea, max_length=4096)
444     narzedzia = forms.CharField(
445         label=u'Jakie narzędzie/a planowałaś/eś wykorzystać, a jakie wykorzystałaś/eś?',
446         widget=forms.Textarea, max_length=4096)
447     struktura = forms.CharField(
448         label=u'Opisz w punktach strukturę zajęć. '
449               u'Zaznacz ile czasu planowałaś/eś na każdą część, a ile czasu faktycznie Ci to zajęło.',
450         widget=forms.Textarea, max_length=4096)
451     prowadzenie_trudnosci = forms.CharField(
452         label=u'Co sprawiało Ci trudność w prowadzeniu zajęć?', widget=forms.Textarea, max_length=4096)
453     prowadzenie_pomoc = forms.CharField(
454         label=u'Co było pomocne w prowadzeniu zajęć?', widget=forms.Textarea, max_length=4096)
455     kontrakt = forms.CharField(
456         label=u'W jakiej formie został zawarty kontrakt z uczestnikami? Jakie zasady zostały przyjęte? '
457               u'Czy w trakcie zajęć Ty bądź uczestnicy odwoływaliście się do kontraktu?',
458         widget=forms.Textarea, max_length=4096)
459     trudne_sytuacje = forms.CharField(
460         label=u'Czy podczas zajęć miały miejsce tzw. „trudne sytuacje”. '
461               u'Jak na nie zareagowałaś/eś? Czy potrzebowałabyś/łbyś czegoś w związku z nimi?',
462         widget=forms.Textarea, max_length=4096)
463     informacje_zwrotne = forms.CharField(
464         label=u'Czy zbierałaś/eś informacje zwrotne od uczestników? Jeśli tak, na co zwrócili uwagę? '
465               u'W jaki sposób zbierałaś/eś informacje zwrotne?', widget=forms.Textarea, max_length=4096)
466
467     mocne_strony = forms.CharField(
468         label=u'Opisz w punktach mocne strony przeprowadzonych zajęć.', widget=forms.Textarea, max_length=4096)
469     zmiany = forms.CharField(
470         label=u'Opisz w punktach, co byś zmienił(a) na przyszłość.', widget=forms.Textarea, max_length=4096)
471     potrzeby = forms.CharField(
472         label=u'Czy potrzebowałbyś/łbyś czegoś przed następnymi zajęciami?', widget=forms.Textarea, max_length=4096)
473     uwagi = forms.CharField(label=u'Inne uwagi', widget=forms.Textarea, max_length=4096, required=False)
474
475
476 def textarea_field(label, max_length=500):
477     return forms.CharField(
478         label=label, widget=forms.Textarea, max_length=max_length, help_text=u'(do %s znaków)' % max_length)
479
480
481 class CybernauciForm(ContactForm):
482     disabled = True
483     disabled_template = 'contact/disabled_contact_form.html'
484     form_tag = 'trenerzy-cybernauci2017'
485     form_title = u"Cybernauci – szkolenie dla trenerów"
486     admin_list = ['nazwisko', 'instytucja', 'contact']
487     submit_label = u'Wyślij'
488
489     nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=1024)
490     adres = forms.CharField(label=u'Adres zamieszkania')
491     wojewodztwo = forms.ChoiceField(label=u'Województwo', choices=WOJEWODZTWO_CHOICES)
492     contact = forms.CharField(label=u'Adres e-mail')
493     telefon = forms.CharField(label=u'Telefon kontaktowy', max_length=32)
494     dlaczego = textarea_field(
495         label=u'Proszę opisać, dlaczego chce Pan/Pani zostać Emisariuszem Bezpiecznego Internetu.')
496     grupy = forms.MultipleChoiceField(
497         label=u'Proszę wskazać, dla których grup realizował Pan/realizowała Pani zajęcia warsztatowe',
498         widget=forms.CheckboxSelectMultiple,
499         choices=[
500             ('Uczniowie klas 1-3', 'Uczniowie klas 1-3'),
501             ('Uczniowie klas 4-6', 'Uczniowie klas 4-6'),
502             ('Uczniowie szkół gimnazjalnych', 'Uczniowie szkół gimnazjalnych'),
503             ('Uczniowie szkół ponadgimnazjalnych', 'Uczniowie szkół ponadgimnazjalnych'),
504             ('Nauczyciele', 'Nauczyciele'),
505             ('Rodzice', 'Rodzice'),
506         ])
507     doswiadczenie_grupy = textarea_field(
508         label=u'Proszę opisać swoje doświadczenie w pracy warsztatowej z grupami docelowymi Projektu '
509               u'(dziećmi, młodzieżą, osobami dorosłymi: nauczycielami, rodzicami).',
510         max_length=750)
511     doswiadczenie_edumed = textarea_field(
512         label=u'Jakie jest Pana/Pani doświadczenie w zakresie edukacji medialnej, '
513               u'zwłaszcza w zakresie bezpieczeństwa w Internecie i korzystania z TIK? '
514               u'Skąd czerpie Pan/Pani wiedzę w tym zakresie? W jakich projektach brał '
515               u'Pan/brała Pani udział dotychczas?',
516         max_length=750)
517     szkolenia = textarea_field(
518         label=u'Proszę wymienić studia, szkolenia albo kursy (maks. 5 najważniejszych) '
519               u'powiązane z tematyką Projektu, w których Pan/Pani uczestniczył/ła, '
520               u'w tym dane na temat instytucji czy osoby prowadzącej (z JEDNOZDANIOWYM '
521               u'omówieniem i terminami, w których się odbyły).')
522     realizacje = textarea_field(
523         label=u'Proszę opisać swoje doświadczenie w zakresie realizacji działań w lokalnym środowisku '
524               u'szkolnym (np. na terenie gminy/powiatu/województwa).')
525     cel = textarea_field(
526         label=u'Proszę opisać, jaką wiedzę i umiejętności chce Pan/Pani zdobyć '
527               u'lub doskonalić poprzez uczestnictwo w Szkoleniu trenerskim.')
528     skad = forms.CharField(label=u'Skąd dowiedział/dowiedziała się Pan/Pani o projekcie „Cybernauci”?')
529     zgoda_regulamin = forms.BooleanField(
530         label=u'Oświadczam, że zapoznałem/zapoznałam się z Regulaminem Rekrutacji '
531               u'i Uczestnictwa w Projekcie „Cybernauci – kompleksowy projekt '
532               u'kształtowania bezpiecznych zachowań w sieci” i akceptuję jego warunki.',
533         help_text=u'Zobacz <a href="https://cybernauci.edu.pl/wp-content/uploads/2017/04/'
534                   u'regulamin_Cybernauci_szkolenie_trenerskie_2017.pdf">regulamin</a>.')
535     zgoda_dane = forms.BooleanField(
536         label=u'Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych '
537               u'w niniejszym dokumencie dla potrzeb niezbędnych do realizacji Projektu '
538               u'„Cybernauci – kompleksowy projekt kształtowania bezpiecznych zachowań '
539               u'w sieci”  zgodnie z ustawą z dnia 29.08.1997 roku o Ochronie Danych '
540               u'Osobowych (Dz. U. z 2002 r. Nr 101, poz. 926 z późniejszymi zmianami).')
541     zgoda_niekaralnosc = forms.BooleanField(
542         label=u'W przypadku zakwalifikowania się na kurs zobowiązuję się '
543               u'do dostarczenia świadectwa o niekaralności – najpóźniej w dniu rozpoczęcia Szkolenia.')
544     zgoda_newsletter = forms.BooleanField(
545         required=False,
546         label=u'Chcę otrzymywać newsletter Edukacja Medialna.')
547     cv = forms.FileField(
548         label=u'Wgraj plik CV.',
549         help_text=u'Prosimy o nazwanie pliku swoim imieniem i nazwiskiem. Preferowany format: PDF.')
550
551
552 class WLEMForm(ContactForm):
553     disabled = True
554     form_tag = 'wlem'
555     form_title = u"WLEM - szkolenie dla warszawskich liderów edukacji medialnej"
556     admin_list = ['nazwisko', 'instytucja', 'contact']
557     submit_label = u'Wyślij'
558
559     nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=128)
560     contact = forms.CharField(label=u'Adres e-mail')
561     telefon = forms.CharField(label=u'Tel. kontaktowy', max_length=32)
562     instytucja = forms.CharField(label=u'Instytucja', max_length=128)
563     instytucja_adres = forms.CharField(label=u'Adres (instytucji)', max_length=1024)
564     stanowisko = forms.CharField(label=u'Stanowisko', max_length=256)
565     doswiadczenie = forms.CharField(
566         label=u'Jakie jest Pani/Pana doświadczenie w zakresie edukacji medialnej?',
567         widget=forms.Textarea, max_length=4096)
568     dlaczego = forms.CharField(
569         label=u'Dlaczego chce Pani/Pan wziąć udział w szkoleniu?',
570         widget=forms.Textarea, max_length=4096)
571     cel = forms.CharField(
572         label=u'Jaką wiedzę i umiejętności chce Pan/Pani zdobyć lub doskonalić poprzez uczestnictwo w szkoleniu?',
573         widget=forms.Textarea, max_length=4096)
574     jak_wykorzystac = forms.CharField(
575         label=u'Jak zamierza Pan/Pani wykorzystać wiedzę i umiejętności zdobyte w czasie szkolenia?',
576         widget=forms.Textarea, max_length=4096)
577     zgoda_zajecia = forms.BooleanField(
578         label=u'W okresie lipiec-październik 2016 r. przeprowadzę min. 2 godziny zajęć '
579               u'edukacji medialnej z grupą warszawiaków.')
580     zgoda_dane = forms.BooleanField(
581         label=u'Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych '
582               u'w niniejszym dokumencie dla potrzeb niezbędnych do realizacji Projektu '
583               u'„Warszawscy Liderzy Edukacji Medialnej” zgodnie z ustawą z dnia 29.08.1997 '
584               u'roku o Ochronie Danych Osobowych (Dz. U. z 2002 r. Nr 101, poz. 926 '
585               u'z późniejszymi zmianami).')
586     zgoda_newsletter = forms.BooleanField(
587         required=False,
588         label=u'Wyrażam zgodę na otrzymywanie informacji od Fundacji Nowoczesna Polska '
589               u'związanych z edukacją medialną.')
590
591
592 def ordered_textarea_field(start, pre_label=u'', label=u'', max_length=500):
593     return textarea_field(
594         mark_safe(u'%s<ol type="a" start="%s"><li>%s</li></ol>' % (pre_label, start, label)),
595         max_length=max_length)
596
597
598 def simple_choices(*choices):
599     return tuple((choice, choice) for choice in choices)
600
601
602 class CybernauciAnkietaForm(ContactForm):
603     def __init__(self, *args, **kwargs):
604         super(CybernauciAnkietaForm, self).__init__(*args, **kwargs)
605         self.label_suffix = ''
606
607     form_tag = 'cybernauci-ankieta-trenera-2017'
608     form_title = u"Cybernauci – ankieta trenerska"
609     nazwisko = forms.CharField(label=u'Imię i nazwisko', max_length=128)
610     contact = forms.CharField(label=u'Adres e-mail')
611     pyt1a = ordered_textarea_field(
612         1, pre_label=u'1. W kontekście planowanego szkolenia jakie są Twoje oczekiwania w zakresie:',
613         label=u'przekazywanej wiedzy')
614     pyt1b = ordered_textarea_field(2, label=u'tematyki szkoleń z bezpieczeństwa w sieci')
615     pyt1c = ordered_textarea_field(3, label=u'materiałów dydaktycznych')
616     pyt1d = ordered_textarea_field(4, label=u'organizacji  i prowadzenia szkoleń w projekcie')
617     pyt1e = ordered_textarea_field(5, label=u'umiejętności trenerskich')
618     pyt1f = ordered_textarea_field(6, label=u'inne, jakie?')
619     pyt2 = textarea_field(u'2. W których tematach z obszaru bezpieczeństwa w sieci czujesz się najpewniej? '
620                           u'Dlaczego?')
621     pyt3 = textarea_field(u'3. Które z tematów znasz słabej lub których nie znasz zupełnie?')
622     pyt4 = textarea_field(u'4. Jakie są Twoje mocne strony jako osoby prowadzącej warsztaty?')
623     pyt5 = textarea_field(u'5. Nad jakimi elementami pracy trenerskiej chciałbyś/chciałabyś popracować?')
624     pyt6 = textarea_field(u'6. Co jest dla Ciebie najważniejsze w pracy z grupą? '
625                           u'Na co zwracasz uwagę w tym obszarze jako osoba prowadząca warsztaty?')
626     pyt7 = textarea_field(
627         u'7. Jakie są Twoje największe obawy wobec realizacji szkoleń w placówkach oświatowych?')
628     pyt8a = ordered_textarea_field(
629         1, pre_label=u'8. Opisz szczegółowo doświadczenie z różnymi grupami:', label=u'rodzice')
630     pyt8b = ordered_textarea_field(2, label=u'nauczyciele')
631     pyt8c = ordered_textarea_field(3, label=u'młodzież ponadgimnazjalna')
632     pyt8d = ordered_textarea_field(4, label=u'młodzież gimnazjalna')
633     pyt8e = ordered_textarea_field(5, label=u'dzieci i młodzież szkół podstawowych')
634     pyt9 = textarea_field(
635         u'9. Z jakimi grupami wiekowymi najlepiej Ci się współpracuje? '
636         u'Umiejętności w zakresie pracy z którą grupą najbardziej chciałabyś/chciałbyś zdobyć/doskonalić?')
637     pyt10 = textarea_field(
638         u'10. W jaki sposób na co dzień dbasz o swój rozwój jako trenera/trenerki, '
639         u'osoby prowadzącej warsztaty czy inne formy szkoleniowe?')
640     pyt11 = textarea_field(u'11. Jakie są Twoje potrzeby żywieniowe?')
641     pyt12 = forms.ChoiceField(
642         label=u'12. Jak przyjedziesz do Wilgi?',
643         widget=forms.RadioSelect,
644         choices=simple_choices(
645             u'publiczna komunikacja do/z Warszawy (i wesoły bus do/z Wilgi)',
646             u'publiczna komunikacja do/z Wilgi',
647             u'samochód prywatny'))
648
649
650 class SciezkiKopernikaForm(ContactForm):
651     form_tag = 'sciezki-kopernika'
652     form_title = u'Formularz zgłoszeniowy na warsztaty'
653     disabled = True
654
655     nazwisko = forms.CharField(label=u'Imię i nazwisko uczestnika/uczestniczki', max_length=128)
656     rok_urodzenia = forms.IntegerField(label=u'Rok urodzenia')
657     adres_dom = forms.CharField(label=u'Adres zamieszkania – ulica i numer', max_length=128)
658     adres_poczta = forms.CharField(label=u'Adres zamieszkania – kod pocztowy i miejscowość', max_length=128)
659     contact = forms.EmailField(label=u'Adres e-mail')
660     szkola = forms.CharField(label=u'Nazwa szkoły', max_length=128)
661     adres_szkola = forms.CharField(label=u'Adres szkoły – ulica i numer', max_length=128)
662     poczta_szkola = forms.CharField(label=u'Adres szkoły – kod pocztowy i miejscowość', max_length=128)
663     opiekun = forms.CharField(label=u'Imię i nazwisko rodzica/opiekuna', max_length=128)
664     adres_opiekun = forms.CharField(label=u'Adres zamieszkania rodzica/opiekuna – ulica i numer', max_length=128)
665     poczta_opiekun = forms.CharField(
666         label=u'Adres zamieszkania rodzica/opiekuna – kod pocztowy i miejscowość', max_length=128)
667     telefon_opiekun = forms.CharField(label=u'Numer telefonu rodzica/opiekuna', max_length=32)
668     email_opiekun = forms.EmailField(label=u'Adres e-mail rodzica/opiekuna', max_length=32)
669     specjalne_potrzeby = forms.ChoiceField(
670         label=u'Czy uczestnik/uczestniczka ma specjalne potrzeby wynikające z niepełnosprawności', required=True,
671         choices=[('tak', 'tak'), ('nie', 'nie')], widget=forms.RadioSelect)
672     zgoda_regulamin = forms.BooleanField(
673         label=mark_safe(
674             u'Oświadczam, że zapoznałem/am się z <a href="/media/chunks/attachment/Regulamin.pdf" target="_blank">'
675             u'Regulaminem udziału w projekcie</a> '
676             u'i spełniam kryteria kwalifikowalności do udziału w projekcie.'))
677
678
679 def quiz_question(label, choices):
680     return forms.TypedChoiceField(label=label, choices=choices, coerce=int, widget=forms.RadioSelect)
681
682
683 def make_link(text, url):
684     return u'<a href="%s">%s</a>' % (url, text)
685
686
687 ODMOWA_CHOICES = [
688     ('nie', u'Nie'),
689     ('tak', u'Tak'),
690     ('odmowa', u'Odmowa odpowiedzi'),
691 ]
692
693 YESNO_CHOICES = [
694     ('nie', u'Nie'),
695     ('tak', u'Tak'),
696 ]
697
698
699 class SciezkiKopernikaTestForm(ContactForm):
700     def __init__(self, *args, **kwargs):
701         super(SciezkiKopernikaTestForm, self).__init__(*args, **kwargs)
702         self.label_suffix = ''
703
704     result_page = True
705     form_tag = 'sciezki-kopernika-test'
706     form_title = u'Test wiedzy w zakresie edukacji medialnej i cyfrowej'
707     submit_label = u'Wyślij'
708
709     pyt1 = quiz_question(
710         label=u'1. Na stronie portalu internetowego pod jednym z artykułów opublikowano komentarz o treści '
711               u'„Nie wszyscy muzułmanie to terroryści, ale wszyscy terroryści to muzułmanie”. '
712               u'Komentarz podlega moderacji i powinien:',
713         choices=[
714             (1, u'zostać zachowany, ponieważ jest prywatną opinią korzystającą z wolności słowa,'),
715             (0, u'zostać zachowany, ponieważ informuje o fakcie,'),
716             (2, u'zostać usunięty, ponieważ jest wprowadzającą w błąd interpretacją faktów.'),
717         ])
718     pyt2 = quiz_question(
719         label=u'2. Aby przygotować podcast, należy posiadać przynajmniej:',
720         choices=[
721             (0, u'półprofesjonalny mikrofon radiowy, z wbudowanym interfejsem dźwiękowym, '
722                 u'komercyjne oprogramowanie typu DAW, średnio-zaawansowane umiejętności cyfrowej obróbki dźwięku,'),
723             (1, u'urządzenie do nagrywania dźwięku, laptop, oprogramowanie dedykowane do tworzenia podcastów,'),
724             (2, u'urządzenie do nagrywania dźwięku, podstawowe oprogramowanie do edycji dźwięku, '
725                 u'podstawowe umiejętności cyfrowej obróbki dźwięku.')])
726     pyt3 = quiz_question(
727         label=u'3. Muzeum cyfrowe chce udostępnić skan XIV-wiecznego kodeksu. '
728               u'Zgodnym z ideą domeny publicznej sposobem jego udostępnienia będzie:',
729         choices=[
730             (0, u'udostępnienie go na licencji Creative Commons,'),
731             (2, u'udostępnienie go bez licencji z czytelnym wskazaniem praw do dowolnego wykorzystania,'),
732             (1, u'udostępnienie go w pliku jakości produkcyjnej.')])
733     pyt4 = quiz_question(
734         label=u'4. Aby uniknąć możliwości podejrzenia przez niepowołane osoby, jakie strony internetowe '
735               u'odwiedzałaś/eś ostatnio, powinieneś/powinnaś:',
736         choices=[
737             (0, u'ustawić opcję otwierania nowej sesji przeglądarki bez wyświetlania ostatnio używanych kart '
738                 u'oraz regularnie czyścić historię wyszukiwania,'),
739             (2, u'wylogowywać się lub blokować ekran za każdym razem, kiedy odchodzisz od komputera, tabletu '
740                 u'lub odkładasz gdzieś telefon, regularnie czyścić dane zgromadzone przez przeglądarkę internetową,'),
741             (1, u'wylogowywać się lub blokować ekran za każdym razem, kiedy odchodzisz od komputera, tabletu '
742                 u'lub odkładasz gdzieś telefon, regularnie czyścić historię przeglądanych stron.')])
743     pyt5 = quiz_question(
744         label=u'5. Komentarz opublikowany w Internecie ma taką samą wartość bez względu na to, '
745               u'czy jest anonimowy czy podpisany imieniem i nazwiskiem:',
746         choices=[
747             (0, u'tak, ze względu na zasadę wolności słowa,'),
748             (2, u'to zależy od jego treści i kontekstu, w którym go opublikowano,'),
749             (1, u'tak, z punktu widzenia odpowiedzialności prawnej.')])
750     pyt6 = quiz_question(
751         label=u'6. Wraz z grupą osób zamierzasz przygotować cyfrową opowieść (narrację) na temat współczesnych '
752               u'nastolatków i ich stosunku do szkoły. Żeby praca była efektywna, a jej rezultat efektowny, warto '
753               u'zorganizować wspólną pracę w następujących krokach:',
754         choices=[
755             (2, u'przeprowadzić wspólną dyskusję odnośnie możliwych tematów opowieści, wybrać jeden, ustalić, '
756                 u'co należy zrobić, podzielić zadania w grupie i przygotować scenariusz narracji '
757                 u'(opisać poszczególne sceny, co się w nich znajdzie, co będzie potrzebne do ich przygotowania),'),
758             (0, u'zgromadzić jak najwięcej materiałów wideo i zdjęć, wybrać oprogramowanie do obróbki wideo i wspólnie '
759                 u'decydować o kolejności scen i zawartości opowieści,'),
760             (1, u'wybrać temat opowieści, zgromadzić jak najwięcej filmików i zdjęć, podzielić się zadaniami w grupie, '
761                 u'zmontować narrację z części przygotowanych przez uczestników zespołu.')])
762     pyt7 = quiz_question(
763         label=u'7. Firma telekomunikacyjna wykorzystuje boty do automatycznego odpowiadania na pytania klientów '
764               u'zadawane w serwisie społecznościowym. Boty zwracają się do wszystkich po imieniu. Kiedy użytkownik, '
765               u'który sobie tego nie życzy, wyraża swoje niezadowolenie z takiej formy rozmowy, firma powinna:',
766         choices=[
767             (2, u'przeprosić użytkownika, szanując preferowane przez niego reguły komunikacji,'),
768             (0, u'zignorować użytkownika odwołując się do zasad netykiety,'),
769             (1, u'zareagować zgodnie z wypracowanymi wewnętrznie zasadami komunikacji.')])
770     pyt8 = quiz_question(
771         label=u'8. Jesteś członkiem/członkinią grupy, która przygotowuje aplikację mającą ułatwić osobom '
772               u'z niepełnosprawnościami poruszanie się po Twojej miejscowości. Oprogramowanie będzie m.in. informować, '
773               u'czy przy określonej instytucji, firmie, sklepie, znajdują się miejsca parkingowe dla osób '
774               u'z niepełnosprawnościami i ile ich jest. Aby aplikacja działała prawidłowo, powinieneś/powinnaś:',
775         choices=[
776             (1, u'przygotować listę najważniejszych obiektów w Twoim mieście i skontaktować się z ich administracją, '
777                 u'pytając o liczbę miejsc parkingowych,'),
778             (0, u'poszukać informacji o dostępnych miejscach parkingowych na stronach instytucji, firm i sklepów,'),
779             (2, u'skontaktować się z administracją obiektów, o których będzie informować aplikacja, udać się również '
780                 u'do tych obiektów, aby potwierdzić ilość dostępnych miejsc, spróbować zgromadzić informacje o tym, '
781                 u'jak często miejsca parkingowe są zajmowane przez ludzi pełnosprawnych.')])
782     pyt9 = quiz_question(
783         label=u'9. Pojęcie „niewidzialnej pracy” może dotyczyć:',
784         choices=[
785             (2, u'moderatorów mediów społecznościowych zatrudnianych w krajach o niskich kosztach pracy,'),
786             (1, u'użytkowników serwisów społecznościowych publikujących codziennie i bez wynagrodzenia własne '
787                 u'materiały w tym serwisie,'),
788             (0, u'informatyków budujących rozwiązania IT dla firm.')])
789
790     pyt10 = quiz_question(
791         label=u'10. Możesz uważać, że informacje, do których docierasz, są wiarygodne, ponieważ:',
792         choices=[
793             (1, u'pojawiają się w wielu telewizyjnych serwisach informacyjnych, na profilach społecznościowych '
794                 u'moich znajomych i w różnorodnych internetowych serwisach informacyjnych, wszędzie przedstawiane '
795                 u'są w podobny sposób,'),
796             (2, u'pojawiają się w wielu serwisach informacyjnych, na profilach moich znajomych, zawierają odnośniki '
797                 u'do oryginalnych źródeł, do których można dotrzeć,'),
798             (0, u'pojawiają się na profilach wielu moich znajomych w serwisach społecznościowych i '
799                 u'w kilku internetowych serwisach informacyjnych.')])
800     pyt11 = quiz_question(
801         label=u'11. W pewnym mieście prokuratura bada umowy z wykonawcami projektów budżetu obywatelskiego. '
802               u'Nikomu, jak dotąd, nie postawiono zarzutów. Która postać tytułu newsa opublikowanego '
803               u'na lokalnym portalu internetowym będzie najbardziej zgodna z zasadami etyki dziennikarskiej?',
804         choices=[
805             (1, u'„Budżet obywatelski: niejasne umowy z wykonawcami?”,'),
806             (2, u'„Prokuratura zbada umowy z wykonawcami projektów budżetu obywatelskiego.”,'),
807             (0, u'„Zobacz, które firmy mogły obłowić się na projektach budżetu obywatelskiego!”.')])
808     pyt12 = quiz_question(
809         label=u'12. Dołączyłeś/aś do grupy, która zbiera informacje o problemach dotyczących młodych ludzi '
810               u'w Twojej okolicy. Zamierzacie zaprezentować zgromadzone informacje w interesujący sposób, '
811               u'tak by zainteresować lokalne media, służby miejskie, zwykłych obywateli i Waszych rówieśników. '
812               u'Grupa nie ma możliwości regularnego spotykania się, dlatego wybraliście pracę wyłącznie '
813               u'przez Internet. Który zestaw narzędzi pozwoli Wam na jak najlepszą, wspólną pracę?',
814         choices=[
815             (0, u'mail grupowy, komunikator tekstowy (np. Messenger), oprogramowanie do tworzenia podcastów, '
816                 u'stacjonarne narzędzie do tworzenia prezentacji (np. Power Point),'),
817             (1, u'mail grupowy, komunikator tekstowy zespołu (np. Slack), narzędzie do kolektywnego tworzenia '
818                 u'map myśli (np. Coggle), blog redagowany przez wszystkich uczestników projektu, aplikacja do '
819                 u'synchronizowania plików w chmurze (np. Dropbox), narzędzie do grupowej komunikacji za pomocą wideo '
820                 u'(np. Skype),'),
821             (2, u'aplikacja do zarządzania zadaniami zespołu i terminami do wykonania (np. Wunderlist), '
822                 u'narzędzie do tworzenia kolektywnych notatek (np. OneNote) lub wspólnej pracy z tekstem '
823                 u'(np. EtherPad, Google Dokumenty), grupa w serwisie społecznościowym lub tekstowy komunikator '
824                 u'zespołu (np. Messenger lub Slack), narzędzia do gromadzenia lub prezentowania materiałów '
825                 u'(np. wspólny blog, kanał w serwisie społecznościowym).')])
826     pyt13 = quiz_question(
827         label=u'13. Poniżej podano wybrane cechy hasła opublikowanego w Wikipedii. '
828               u'Która z nich jest najbardziej pomocna przy analizie jakości hasła?',
829         choices=[
830             (0, u'liczba edycji hasła,'),
831             (1, u'długość i struktura hasła,'),
832             (2, u'obecność i jakość przypisów.')])
833     pyt14 = quiz_question(
834         label=u'14. Na przeglądanej stronie internetowej znalazłeś/aś interesującą grafikę, którą chciał(a)byś '
835               u'wykorzystać w przygotowywanej cyfrowej narracji. Nie jest ona jednak podpisana. Co robisz?',
836         choices=[
837             (0, u'podpisuję grafikę adresem strony, na której ją znalazłem/am,'),
838             (1, u'korzystam z opcji wyszukiwania obrazem w wyszukiwarce grafiki, chcąc znaleźć inne strony, '
839                 u'gdzie pojawiła się grafika,'),
840             (2, u'korzystam z opcji wyszukiwania obrazem, a jeśli to się nie powiedzie, skontaktuję się '
841                 u'z administratorem strony, na której znalazłem/am grafikę, pytając o autora; przeglądam także '
842                 u'informacje o stronie, szukając ewentualnych informacji o zasadach publikacji treści; być może '
843                 u'autor informuje, że wszystkie grafiki są jego autorstwa.')])
844     pyt15 = quiz_question(
845         label=mark_safe(
846             u'15. W nieistniejącym języku programowania TEST dana jest funkcja zapisana w następujący sposób:'
847             u'<p><code>funkcja f(a) { wyświetl a + b;<br>'
848             u'}</code></p>'
849             u'<strong>Przeczytaj uważnie kod i zastanów się, jak działa ta funkcja.'
850             u'Główną wadą tego kodu jest przetwarzanie brakującego argumentu:</strong>'),
851         choices=[
852             (2, u'b,'),
853             (1, u'b będącego dowolną liczbą,'),
854             (0, u'f.')])
855     pyt16 = quiz_question(
856         label=u'16. Przygotowujesz teledysk do utworu nagranego przez Twój zespół. Efekt swojej pracy opublikujesz '
857               u'na kanale zespołu na YouTube. Teledysk nie może łamać praw autorskich, w przeciwnym razie zostanie '
858               u'usunięty z serwisu. W teledysku możesz wykorzystać zdjęcia, ikony, fragmenty filmów:',
859         choices=[
860             (1, mark_safe(
861                 u'znalezionych w wyszukiwarce serwisu Flickr na licencji %s, przygotowanych przez Ciebie, '
862                 u'ściągniętych z serwisu %s,' % (
863                     make_link(u'CC BY-SA', 'https://www.flickr.com/creativecommons/by-sa-2.0/'),
864                     make_link(u'The Noun Project', 'https://thenounproject.com')))),
865             (2, mark_safe(
866                 u'znalezionych w wyszukiwarce serwisu Flickr na licencji %s, przygotowanych przez Ciebie, '
867                 u'ściągniętych z %s,' % (
868                     make_link(u'CC-BY', 'https://www.flickr.com/creativecommons/by-2.0/'),
869                     make_link(u'serwisu ze zdjęciami NASA',
870                               'https://www.nasa.gov/multimedia/imagegallery/index.html')))),
871             (0, mark_safe(
872                 u'znalezionych w wyszukiwarce serwisu Flickr na licencji %s, przygotowanych przez Ciebie, '
873                 u'ściągniętych z wyszukiwarki grafiki Google.' %
874                 make_link('CC-BY-NC', 'https://www.flickr.com/creativecommons/by-nc-2.0/')))])
875     pyt17 = quiz_question(
876         label=mark_safe(
877             u'17. Muzeum cyfrowe udostępniło skan druku propagandowego z pierwszej połowy XVII w. '
878             u'w humorystyczny sposób przedstawiający strony angielskiej wojny domowej (trwającej z przerwami '
879             u'między 1642 a 1651 rokiem):'
880             u'<p><a href="https://commons.wikimedia.org/wiki/File:Engl-Bürgerkrieg.JPG">'
881             u'<img src="https://upload.wikimedia.org/wikipedia/commons/c/c6/Engl-B%C3%BCrgerkrieg.JPG"></a></p>'
882             u'<p><a href="https://commons.wikimedia.org/wiki/File:Engl-Bürgerkrieg.JPG">'
883             u'https://commons.wikimedia.org/wiki/File:Engl-Bürgerkrieg.JPG</a></p>'
884             u'<strong>Najlepszym zestawem tagów dla osoby katalogującej pliki cyfrowe w muzeum, '
885             u'a równocześnie najbardziej użytecznym dla użytkowników przeszukujących stronę '
886             u'zestawem słów kluczowych opisujących ten obiekt będzie:</strong>'),
887         choices=[
888             (2, u'Anglia, wojna domowa, karykatura, propaganda,'),
889             (0, u'komiks, śmiech, Anglicy, Wielka Brytania, psy,'),
890             (1, u'Angielska Wojna Domowa 1642-1651, propaganda.')])
891     pyt18 = quiz_question(
892         label=u'18. Podczas wycieczki szkolnej zrobiłaś/eś sporo zdjęć znajomym, w różnych sytuacjach. '
893               u'Masz również dostęp do wielu fotografii, które przygotowali Twoi koledzy i koleżanki. '
894               u'Zamierzasz niektóre z nich zamieścić na swoim kanale w serwisie społecznościowym. Możesz opublikować:',
895         choices=[
896             (0, u'zdjęcia prezentujące selfie (o ile nie przedstawiają więcej niż dwóch osób), '
897                 u'zdjęcia grupy podczas zwiedzania, zdjęcia, które ktoś zrobił Tobie na tle zwiedzanych obiektów, '
898                 u'zdjęcia, na których ludzie się uśmiechają i cieszą, że robisz im zdjęcie,'),
899             (1, u'zdjęcia prezentujące selfie (ale tylko Twoje), zdjęcia pokazujące w oddali grupę na tle '
900                 u'zwiedzanych obiektów, zdjęcia, zdjęcia na których widać tylko Ciebie, na tle zwiedzanych obiektów,'),
901             (2, u'zdjęcia prezentujące selfie (na których jesteś Ty, ale również inne osoby, które potwierdziły, '
902                 u'że możesz opublikować fotografie), zdjęcia na których widać tylko Ciebie '
903                 u'i masz zgodę na ich publikację od osoby, która wykonała fotografię, '
904                 u'wykonane przez Ciebie zdjęcia zwiedzanych obiektów.')])
905     pyt19 = quiz_question(
906         label=u'19. Korzystając z sieci, natrafiamy na różne interesujące informacje. '
907               u'Pojawiają się w wielu serwisach informacyjnych, społecznościowych, w postaci reklam '
908               u'dołączanych do materiałów wideo, reklam zamieszczonych w tekstach itp. '
909               u'Na co warto zwracać uwagę, podczas codziennego korzystania z mediów, '
910               u'żeby efektywnie wykorzystać czas spędzony w Internecie?',
911         choices=[
912             (1, u'zaplanować czas spędzany na korzystaniu z mediów i starać się trzymać swojego planu, '
913                 u'nie unikasz jednak nagłych rozmów przez komunikator, oglądania postów, '
914                 u'zdjęć i filmików dodawanych przez znajomych,'),
915             (0, u'zaplanować, co będziesz robił(a), ale traktujesz to jako ramę działania, wiesz, '
916                 u'że po drodze pojawi się wiele interesujących informacji, z których skorzystasz,'),
917             (2, u'zaplanować czas spędzany na korzystaniu z mediów i rejestrować, co, '
918                 u'kiedy i przez ile czasu robisz, np. instalując aplikację do mierzenia czasu spędzanego w sieci. '
919                 u'Następnie analizujesz zebrane informacje i starasz się określić, co robisz zbyt często '
920                 u'i jakie rzeczy odciągają Twoją uwagę od tych zaplanowanych.')])
921     pyt20 = quiz_question(
922         label=u'20. Blokująca reklamy wtyczka do przeglądarki działa w następujący sposób:',
923         choices=[
924             (0, u'analizuje treść tekstów oraz obrazków i blokuje te, które zawierają reklamy,'),
925             (1, u'blokuje wyświetlanie plików reklam zanim wyświetli je przeglądarka,'),
926             (2, u'blokuje komunikację przeglądarki z serwerami publikującymi reklamy.')])
927     contact = forms.EmailField(label=u'Adres e-mail, na który przyślemy informację o wynikach')
928     imie = forms.CharField(label=u'Imię')
929     nazwisko = forms.CharField(label=u'Nazwisko')
930     PESEL = forms.CharField(label=u'PESEL', required=False, help_text=u'zostawić pusty w przypadku braku')
931     plec = forms.ChoiceField(
932         label=u'Płeć', widget=forms.RadioSelect,
933         choices=[('k', u'kobieta'), ('m', u'mężczyzna')])
934     wiek = forms.IntegerField(label='Wiek')
935     wyksztalcenie = forms.ChoiceField(
936         label=u'Wykształcenie',
937         choices=[
938             (u'Niższe niż podstawowe', u'Niższe niż podstawowe'),
939             (u'Podstawowe', u'Podstawowe'),
940             (u'Gimnazjalne', u'Gimnazjalne'),
941             (u'Ponadgimnazjalne', u'Ponadgimnazjalne'),
942             (u'Policealne', u'Policealne'),
943             (u'Wyższe', u'Wyższe'),
944         ])
945     wojewodztwo = forms.ChoiceField(label=u'Województwo', choices=WOJEWODZTWO_CHOICES)
946     powiat = forms.CharField(label=u'Powiat')
947     gmina = forms.CharField(label=u'Gmina')
948     miejscowosc = forms.CharField(label=u'Miejscowość')
949     ulica = forms.CharField(label=u'Ulica', required=False)
950     numer = forms.CharField(label=u'Nr budynku')
951     lokal = forms.CharField(label=u'Nr lokalu', required=False)
952     kod = forms.CharField(label=u'Kod pocztowy')
953     telefon = forms.CharField(label=u'Telefon kontaktowy')
954     status = forms.ChoiceField(
955         label=u'Status na rynku pracy',
956         choices=[
957             (u'uczeń', u'osoba bierna zawodowo ucząca się'),
958             (u'nieuczeń', u'osoba bierna zawodowo nieuczestnicząca w kształceniu'),
959             (u'bezrobotna-up', u'Osoba bezrobotna zarejestrowana w ewidencji UP'),
960             (u'bezrobotna-nie-up', u'Osoba bezrobotna nie zarejestrowana w ewidencji UP'),
961             (u'pracująca', u'Osoba pracująca'),
962             (u'inne', u'inne'),
963         ])
964     typ_szkoly = forms.CharField(label=u'Typ szkoły (ponadgimnazjalna; inna, jaka?)', required=False)
965     mniejszosc = forms.ChoiceField(
966         label=u'Osoba należąca do mniejszości narodowej lub etnicznej, migrant, osoba obcego pochodzenia',
967         choices=ODMOWA_CHOICES)
968     bezdomna = forms.ChoiceField(
969         label=u'Osoba bezdomna lub dotknięta wykluczeniem z dostępu do mieszkań', choices=YESNO_CHOICES)
970     niepelnosprawna = forms.ChoiceField(
971         label=u'Osoba z niepełnosprawnościami',
972         choices=ODMOWA_CHOICES)
973     pytanie4 = forms.ChoiceField(
974         label=u'Osoba przebywająca w gospodarstwie domowym bez osób pracujących',
975         choices=YESNO_CHOICES)
976     pytanie5 = forms.ChoiceField(
977         label=u'Osoba przebywająca w gospodarstwie domowym z dziećmi pozostającymi na utrzymaniu',
978         choices=YESNO_CHOICES)
979     pytanie6 = forms.ChoiceField(
980         label=u'Osoba żyjąca w gospodarstwie składającym się z jednej osoby dorosłej i dzieci '
981               u'pozostających na utrzymaniu',
982         choices=YESNO_CHOICES)
983     pytanie7 = forms.ChoiceField(
984         label=u'Osoba żyjąca w innej niekorzystnej sytuacji społecznej (inne niż wymienione powyżej)',
985         choices=ODMOWA_CHOICES)
986
987     ANSWER_COMMENTS = [
988         (
989             u"Stwierdzenie „Nie wszyscy muzułmanie to terroryści, ale wszyscy terroryści to muzułmanie” nie "
990             u"odzwierciedla faktów. O ile prawdą jest, że „Nie wszyscy muzułmanie to terroryści”, to błędnym "
991             u"założeniem jest, że „wszyscy terroryści są muzułmanami”. Terroryzm jako akt agresji fizycznej wymierzony"
992             u" przeciwko innym osobom nie jest domeną tej, czy innej religii. Wynika on często z fundamentalistycznych "
993             u"postaw i może pojawić się w różnych kontekstach politycznych i społecznych, a nie tylko religijnych. "
994             u"Z drugiej strony, każdemu użytkownikowi Internetu przysługuje wolność słowa, która oznacza prawo "
995             u"do publicznego wyrażania własnych poglądów w przestrzenie publicznej. Zachęca do tego zwłaszcza możliwość"
996             u" zostawiania komentarzy pod różnego rodzaju artykułami. Należy liczyć się z tym, że część z nich może "
997             u"wprowadzać w błąd. Jeśli przyjmiemy interpretację, zgodnie z którą wpis użytkownika na portalu "
998             u"internetowym jest opinią, to mamy prawo do jego zachowania.\n"
999             u"Jeśli chcesz pogłębić swoją wiedzę na temat „terroryzmu” możesz przeczytać artykuł "
1000             u"pt. „Zjawisko terroryzmu”: "
1001             u"http://www.ies.krakow.pl/wydawnictwo/prokuratura/pdf/2012/07-08/11resztak.pdf.\n"
1002             u"\n"
1003             u"O prawie do wolności wypowiedzi w Internecie i zagrożeniach związanych z jego ograniczeniem możesz "
1004             u"przeczytać w komentarzu prawnika pt. „Masz prawo swobodnie wypowiadać się w Internecie, tak samo jak "
1005             u"wyjść z domu i chodzić po ulicach!”: "
1006             u"http://prawokultury.pl/newsy/masz-prawo-swobodnie-wypowiadac-sie-w-internecie-t/.",
1007
1008             u"Stwierdzenie „Nie wszyscy muzułmanie to terroryści, ale wszyscy terroryści to muzułmanie” nie "
1009             u"odzwierciedla faktów. W tym przypadku należy odróżnić fakt, czyli coś co naprawdę się wydarzyło, "
1010             u"od opinii, która określa nasz sąd na temat wybranych przez nas kwestii. O ile prawdą jest, że "
1011             u"„Nie wszyscy muzułmanie to terroryści”, to błędnym założeniem jest, że „wszyscy terroryści są "
1012             u"muzułmanami”. Terroryzm jako akt agresji fizycznej wymierzony przeciwko innym osobom nie jest domeną "
1013             u"tej, czy innej religii. Wynika on często z fundamentalistycznych postaw i może pojawić się w różnych "
1014             u"kontekstach politycznych i społecznych, a nie tylko religijnych. Zachowanie wpisu zawierającego powyższą "
1015             u"treść może wprowadzać w błąd jego czytelników ponieważ nie odnosi się do faktów, dlatego najlepszą opcją "
1016             u"jest jego usunięcie.\n"
1017             u"\n"
1018             u"Jeśli chcesz pogłębić swoją wiedzę na temat „terroryzmu” możesz przeczytać artykuł "
1019             u"pt. „Zjawisko terroryzmu”: "
1020             u"http://www.ies.krakow.pl/wydawnictwo/prokuratura/pdf/2012/07-08/11resztak.pdf.",
1021
1022             u"Stwierdzenie „Nie wszyscy muzułmanie to terroryści, ale wszyscy terroryści to muzułmanie” "
1023             u"nie odzwierciedla faktów i jest błędną ich interpretacją W tym przypadku należy odróżnić fakt, "
1024             u"czyli coś, co naprawdę się wydarzyło, od opinii, która określa nasz sąd na temat wybranych przez nas "
1025             u"kwestii. O ile prawdą jest, że „Nie wszyscy muzułmanie to terroryści”, to błędnym założeniem jest, że "
1026             u"„wszyscy terroryści są muzułmanami”. Terroryzm jako akt agresji fizycznej wymierzony przeciwko innym "
1027             u"osobom nie jest domeną tej, czy innej religii. Wynika on często z fundamentalistycznych postaw i może "
1028             u"pojawić się w różnych kontekstach politycznych i społecznych, a nie tylko religijnych. Zachowanie wpisu "
1029             u"zawierającego powyższą treść może wprowadzać w błąd jego czytelników, dlatego najlepszą opcją jest jego "
1030             u"usunięcie.\n"
1031             u"\n"
1032             u"Jeśli chcesz pogłębić swoją wiedzę na temat „terroryzmu” możesz przeczytać artykuł "
1033             u"pt. „Zjawisko terroryzmu”: "
1034             u"http://www.ies.krakow.pl/wydawnictwo/prokuratura/pdf/2012/07-08/11resztak.pdf."),
1035         (
1036             u"Wymienione narzędzia i umiejętności brzmią bardzo profesjonalnie, a ich wartość wydaje się być "
1037             u"bardzo wysoka. Jeśli każdy zakładałby, że wszystkie one są potrzebne do rozpoczęcia nagrywania audycji, "
1038             u"nigdy by tego nie zrobił.\n"
1039             u"\n"
1040             u"Tak jak nie od razu Rzym zbudowano, tak nie od razu trzeba nagrywać w profesjonalnym studio. Nawet "
1041             u"zawodowi podcasterzy od czegoś musieli zacząć – w większości od mikrofonu wbudowanego w komputer. Prawie "
1042             u"każdy młody człowiek ma w ręku znacznie doskonalsze narzędzie, jakim jest smartfon. W Internecie można "
1043             u"łatwo znaleźć darmowe oprogramowanie do obróbki dźwięku i tutoriale, które pomogą w tworzeniu podcastu.\n"
1044             u"\n"
1045             u"O tym, jak zacząć tworzyć podcast, nie wydając nawet złotówki przeczytasz tu: "
1046             u"https://malawielkafirma.pl/wlasny-podcast-za-darmo/.",
1047
1048             u"Wymienione narzędzia i umiejętności brzmią profesjonalnie, nie wszyscy mogą pozwolić sobie na taki "
1049             u"zakup. Ale czy faktycznie jest to konieczne? Jeśli każdy zakładałby, że wszystkie one są potrzebne do "
1050             u"rozpoczęcia nagrywania audycji, nigdy by tego nie zrobił. Do przygotowania podcastu nie trzeba "
1051             u"wykorzystywać komputera. Potrzebne jest urządzenie, które pozwoli na nagrywanie dźwięku i jego "
1052             u"podstawową obróbkę (może to być zatem także smartfon).\n"
1053             u"\n"
1054             u"O tym, jak zacząć tworzyć podcast nie wydając nawet złotówki przeczytasz tu: "
1055             u"https://malawielkafirma.pl/wlasny-podcast-za-darmo/.",
1056
1057             u"Urządzenie do nagrywania dźwięku i możliwość jego podstawowej edycji (zarówno jeśli chodzi o dostępne "
1058             u"oprogramowanie, jak i posiadane umiejętności), to wystarczający początek. Z czasem, jeśli tworzenie "
1059             u"podcastu okaże się pasją, można zdecydować się na poszerzenie wachlarza narzędzi, którymi będzie się "
1060             u"posługiwać.\n"
1061             u"\n"
1062             u"O tym, jak zacząć tworzyć podcast nie wydając nawet złotówki przeczytasz tu: "
1063             u"https://malawielkafirma.pl/wlasny-podcast-za-darmo/."),
1064         (
1065             u"Utwory powstałe w czasach kiedy nie obowiązywały prawa autorskie należą do tak zwanej domeny publicznej. "
1066             u"Domeną publiczną oznaczany tę twórczość i te utwory, do których wygasły majątkowe prawa autorskie, "
1067             u"więc żadna licencja nie ma w tym przypadku zastosowania. Poprzez publikowanie utworu na licencjach "
1068             u"Creative Commons przekazujemy informację o tym, że chcemy dzielić się swoimi utworami (w szerszym bądź "
1069             u"węższym zakresie). Zasada ta nie dotyczy wszystkich licencji CC. Tą, która dają największą dowolność "
1070             u"korzystania z utworu, jest licencja CC BY (Creative Commons Uznanie Autorstwa).\n"
1071             u"Mówiąc inaczej, łatwiej nam jest wykorzystywać zdjęcia, obrazy, czy też muzykę na licencji CC "
1072             u"do własnych celów (np. w prezentacji lub na swojej stronie internetowej), ponieważ nie musimy prosić "
1073             u"autora o pozwolenie na ich użytkowanie – wszystko oczywiście zależy od rodzaju licencji CC, a tych jest "
1074             u"kilka. Warto wcześniej się z nimi zapoznać na stronie: https://creativecommons.pl.\n"
1075             u"\n"
1076             u"Z definicją domeny publicznej można zapoznać się na stronie: "
1077             u"http://domenapubliczna.org/co-to-jest-domena-publiczna/.\n"
1078             u"\n"
1079             u"Więcej o prawach autorskich można przeczytać w Ustawie z dnia 4 lutego 1994 r. o prawie autorskich "
1080             u"i prawach pokrewnych: "
1081             u"http://isap.sejm.gov.pl/Download?id=WDU19940240083&type=3 "
1082             u"oraz na stronie http://prawokultury.pl.",
1083
1084             u"XIV-wieczny kodeks powstał w czasach, w których nie obowiązywały tak zwane prawa autorskie. "
1085             u"Z tego względu jego udostępnienie i rozpowszechnianie w jakikolwiek sposób jest dozwolone bez podawania "
1086             u"licencji, ponieważ kodeks ten należy już do domeny publicznej. Prawa autorskie to zbiór reguł "
1087             u"dotyczących praw osobistych i majątkowych, jakie nam przysługują przy utworach (np. zdjęciach, muzyce), "
1088             u"który stworzyliśmy osobiście. Z kolei domeną publiczną określamy tę twórczość i te utwory, z których "
1089             u"możemy korzystać w dowolny sposób, ponieważ prawa autorskie wygasły (minęło 70 lat od śmierci ich "
1090             u"twórców) lub utwory powstały wtedy, kiedy prawa autorskie nie istniały.\n"
1091             u"\n"
1092             u"O idei udostępniania utworów na zasadach licencji Creative Commons można przeczytać na stronie: "
1093             u"https://creativecommons.pl.\n"
1094             u"\n"
1095             u"Z definicją domeny publicznej można zapoznać się na stronie: "
1096             u"http://domenapubliczna.org/co-to-jest-domena-publiczna/.\n"
1097             u"\n"
1098             u"Więcej o prawa autorskich można przeczytać w Ustawie z dnia 4 lutego 1994 r. o prawie autorskich "
1099             u"i prawach pokrewnych: http://isap.sejm.gov.pl/Download?id=WDU19940240083&type=3 oraz na stronie "
1100             u"http://prawokultury.pl.",
1101
1102             u"Ważne jest, aby wszystkie dokumenty o znaczeniu historycznym udostępnianie były odbiorcom w jak "
1103             u"najlepszej jakości produkcyjnej. W przypadku XIV-wiecznego kodeksu oznacza to, że muzeum cyfrowe powinno "
1104             u"postarać się o zeskanowanie dokumenty w wysokiej rozdzielczości, która umożliwi dokładne zaznajomienie "
1105             u"się z jego treścią szerokim rzeszom odbiorców. Jednak idea domeny publicznej zakłada przede wszystkim "
1106             u"możliwość korzystania z udostępnianego utworu bez ograniczeń wynikających z praw autorskich. Domeną "
1107             u"publiczną określamy tę twórczość i te utwory, z których możemy korzystać w dowolny sposób, ponieważ "
1108             u"prawa autorskie dawno wygasły lub powstały wtedy, kiedy prawa autorskie nie istniały. Prawa autorskie to "
1109             u"zbiór reguł dotyczących praw jakie nam przysługują przy utworach (np. zdjęciach, muzyce), które "
1110             u"stworzyliśmy osobiście. Na przykład jedną z ważniejszych kwestii dotyczących praw autorskich jest "
1111             u"pobieranie opłat za każdorazowe użycie skomponowanego przez nas utworu.\n"
1112             u"\n"
1113             u"O idei udostępniania utworów na zasadach licencji Creative Commons można przeczytać na stronie: "
1114             u"https://creativecommons.pl.\n"
1115             u"\n"
1116             u"Z definicją domeny publicznej można zapoznać się na stronie: "
1117             u"http://domenapubliczna.org/co-to-jest-domena-publiczna/.\n"
1118             u"\n"
1119             u"Więcej o prawa autorskich można przeczytać w Ustawie z dnia 4 lutego 1994 r. o prawie autorskich "
1120             u"i prawach pokrewnych: http://isap.sejm.gov.pl/Download?id=WDU19940240083&type=3 oraz na stronie "
1121             u"http://prawokultury.pl."),
1122         (
1123             u"Zastosowanie takich metod ochrony swojej prywatności nie gwarantuje skutecznego działania. "
1124             u"Komputer odnotowuje nasze działania na różne sposoby – historia odwiedzanych stron to tylko jeden "
1125             u"z nich. Dane zapisane w formularzach, „ciasteczka” (niewielkie informacje, wysyłane przez serwis "
1126             u"internetowy, który odwiedzamy i zapisywane na urządzeniu końcowym – komputerze, laptopie, smartfonie – "
1127             u"z którego korzystamy podczas przeglądania stron internetowych: http://wszystkoociasteczkach.pl/) "
1128             u"pozwolą zainteresowanej osobie ustalić, co robiłeś. Ważne jest także chronienie swoich kont i ich danych,"
1129             u" zawsze pamiętaj o wylogowaniu się i zablokowaniu komputera, jeśli odchodzisz od niego na chwilę.\n"
1130             u"\n"
1131             u"Pamiętaj także, że jeśli korzystasz ze swojego konta Google na wielu urządzeniach, sam serwis tworzy "
1132             u"synchronizowaną historię aktywności. Jak ją usunąć, dowiesz się tu:\n"
1133             u"https://support.google.com/websearch/answer/54068?hl=pl&ref_topic=1638123.\n"
1134             u"\n"
1135             u"Więcej o ochronie prywatności w Internecie dowiesz się tu: https://panoptykon.org/ i tu: "
1136             u"http://www.saferinternet.pl/pl/ochrona-prywatnosci.",
1137
1138             u"Kompleksowe stosowanie różnych metod ochrony swojej prywatności pozwala nam na zachowanie prywatności w "
1139             u"Internecie. Pamiętanie o tym, że komputer odnotowuje nasze działania na różne sposoby – historia "
1140             u"odwiedzanych stron to tylko jeden z nich – to istotny element skutecznej ochrony. Dane zapisane w "
1141             u"formularzach, „ciasteczka” (niewielkie informacje, wysyłane przez serwis internetowy, który odwiedzamy i "
1142             u"zapisywane na urządzeniu końcowym – komputerze, laptopie, smartfonie – z którego korzystamy podczas "
1143             u"przeglądania stron internetowych: http://wszystkoociasteczkach.pl/) pozwolą zainteresowanej osobie "
1144             u"ustalić, co robiłeś, dlatego usuwanie historii i wszystkich pozostałych danych gromadzonych przez "
1145             u"przeglądarkę to czynności, które są niezbędne. Ważne jest także chronienie swoich kont i ich danych, "
1146             u"zawsze pamiętaj o wylogowaniu się i zablokowaniu komputera, jeśli odchodzisz od niego na chwilę.\n"
1147             u"\n"
1148             u"Pamiętaj także, że jeśli korzystasz ze swojego konta Google na wielu urządzeniach, sam serwis Google "
1149             u"tworzy synchronizowaną historię aktywności. Jak ją usunąć, dowiesz się tu:\n"
1150             u"https://support.google.com/websearch/answer/54068?hl=pl&ref_topic=1638123.\n"
1151             u"\n"
1152             u"\n"
1153             u"Więcej o ochronie prywatności w Internecie dowiesz się tu:\n"
1154             u"http://www.saferinternet.pl/pl/ochrona-prywatnosci.",
1155
1156             u"Kompleksowe stosowanie różnych metod ochrony swojej prywatności pozwala nam na zachowanie prywatności "
1157             u"w Internecie. Pamiętanie o tym, że komputer odnotowuje nasze działania na różne sposoby – historia "
1158             u"odwiedzanych stron to tylko jeden z nich – to istotny element skutecznej ochrony. Dane zapisane "
1159             u"w formularzach, „ciasteczka” (niewielkie informacje, wysyłane przez serwis internetowy, który odwiedzamy "
1160             u"i zapisywane na urządzeniu końcowym – komputerze, laptopie, smartfonie – z którego korzystamy podczas "
1161             u"przeglądania stron internetowych: http://wszystkoociasteczkach.pl/) pozwolą zainteresowanej osobie "
1162             u"ustalić, co robiłeś. Dlatego usuwanie historii nie wystarczy, konieczne jest kasowanie wszystkich "
1163             u"pozostałych danych gromadzonych przez przeglądarkę. Ważne jest także chronienie swoich kont i ich "
1164             u"danych, zawsze pamiętaj o wylogowaniu się i zablokowaniu komputera, jeśli odchodzisz od niego na chwilę."
1165             u"\n"
1166             u"\n"
1167             u"Pamiętaj także, że jeśli korzystasz ze swojego konta Google na wielu urządzeniach, sam serwis Google "
1168             u"tworzy synchronizowaną historię aktywności. Jak ją usunąć, dowiesz się tu:\n"
1169             u"https://support.google.com/websearch/answer/54068?hl=pl&ref_topic=1638123.\n"
1170             u"\n"
1171             u"Więcej o ochronie prywatności w Internecie dowiesz się tu:\n"
1172             u"http://www.saferinternet.pl/pl/ochrona-prywatnosci."),
1173         (
1174             u"Wolność słowa oznacza przede wszystkim nasze prawo do wyrażania swoich własnych poglądów i w przypadku "
1175             u"skorzystania z tej wolności nie ma większego znaczenia czy swoje poglądy wyrażamy anonimowo, "
1176             u"czy też podpisujemy się pod nimi imieniem i nazwiskiem. Wolność słowa nie ma związku z wartością "
1177             u"komentarzy w Internecie. Z drugiej strony jednak należy pamiętać, że korzystanie z wolności słowa "
1178             u"nie oznacza, że nie możemy czuć się odpowiedzialni za swoje opinie wyrażane w Internecie i publikować "
1179             u"na przykład obraźliwe komentarze. Poza tym pełna anonimowość w sieci nie istnieje – jeśli zrobimy coś "
1180             u"złego w Internecie, to łatwo będzie można nas namierzyć.\n"
1181             u"\n"
1182             u"Z tematem problematyki wolności w Internecie można zapoznać się w artykule "
1183             u"pt. „Problem wolności w Internecie”: "
1184             u"http://www.ujk.edu.pl/infotezy/ojs/index.php/infotezy/about/submissions#authorGuidelines.",
1185
1186             u"To, czy wartość komentarza opublikowanego w Internecie zależy od jego podpisania przez autora, wynika "
1187             u"z kontekstu, treści i często miejsca, w którym się ten komentarz znajduje. Wartość komentarza możemy "
1188             u"na przykład łatwo ocenić wtedy, kiedy jesteśmy w stanie zidentyfikować osobę, która go umieszcza w "
1189             u"Internecie. Ma to szczególne znaczenie, jeśli dana osoba jest uznanym ekspertem w dziedzinie, w której "
1190             u"się wypowiada. Bywają jednak sytuacje, w których anonimowe komentarze bywają również wartościowe. "
1191             u"Można to zaobserwować w sytuacjach, w których anonimowy komentarz dostarcza nam informacji, które "
1192             u"nie mogłyby zostać rozpowszechnione w inny sposób, jak tylko właśnie anonimowo – na przykład "
1193             u"udostępnienie informacji w Internecie o trudnych warunkach pracy w pewnej firmie pod imieniem "
1194             u"i nazwiskiem mogłoby zaszkodzić autorowi, który prawdopodobnie straciłby pracę. Pamiętajmy jednak "
1195             u"o tym, aby każdy komentarz w Internecie weryfikować we własnym zakresie i że nigdy nie istnieje pełna "
1196             u"anonimowość w sieci.\n"
1197             u"\n"
1198             u"Z tematem problematyki wolności w Internecie można zapoznać się w artykule "
1199             u"pt. „Problem wolności w Internecie”: "
1200             u"http://www.ujk.edu.pl/infotezy/ojs/index.php/infotezy/about/submissions#authorGuidelines.",
1201
1202             u"Odpowiedzialność prawna to konsekwencje, jakie możemy ponieść w wyniku złamania prawa. Z punktu widzenia "
1203             u"odpowiedzialności prawnej nie ma znaczenia czy komentarz w Internecie jest anonimowy, czy też podpisany "
1204             u"imieniem i nazwiskiem. Na przykład za pomówienie kogoś w Internecie kodeks karny przewiduje różnego "
1205             u"rodzaju kary, w tym więzienie. Jeśli osoba pomawiająca dokonała tego czynu używając anonimowych danych, "
1206             u"to i tak na wniosek prokuratury prowadzącej śledztwo administrator strony, na której doszło do "
1207             u"pomówienia ma obowiązek udostępnić adres IP użytkownika (numer służący identyfikacji komputerów i innych "
1208             u"urządzeń w sieci). A stąd już prosta droga do uzyskania dokładnych danych adresowych osoby pomawiającej."
1209             u"\n"
1210             u"\n"
1211             u"Na temat odpowiedzialności prawnej za komentarze umieszczane w Internecie można przeczytać w artykule "
1212             u"pt. „Ten komentarz mnie obraża. Co mam zrobić?” "
1213             u"https://panoptykon.org/wiadomosc/ten-komentarz-mnie-obraza-co-mam-zrobic."),
1214         (
1215             u"Oryginalny pomysł i scenariusz – oparte na własnych odczuciach, czyli „twórcze, a nie odtwórcze” to "
1216             u"najważniejszy etap opowiadania historii. Im więcej własnych idei i koncepcji włożycie w opowiadaną "
1217             u"historię, tym będzie Wam bliższa, i tym lepiej będzie przemawiała do jej odbiorców. I, co także bardzo "
1218             u"ważne, historia, którą wymyślicie sami, na pewno nie będzie naruszać niczyich praw autorskich…\n"
1219             u"\n"
1220             u"Ważne są także kolejne kroki, które podejmiecie. Po wyborze tematu musicie podzielić się zadaniami, "
1221             u"aby każdy element zadania był wykonany. Jeśli tego nie zrobicie, w grupie szybko zapanuje chaos – "
1222             u"jednymi sprawami zajmie się kilka osób, a innymi – nikt. Warto też opracować harmonogram, aby ze "
1223             u"wszystkim zdążyć na czas. Podczas realizacji zadania bądźcie w stałym kontakcie, żeby na bieżąco "
1224             u"wymieniać się uwagami na temat wspólnej pracy.\n"
1225             u"\n"
1226             u"Więcej o tym, jak zorganizować wspólną pracę, znaleźć można tutaj: "
1227             u"https://edukacjamedialna.edu.pl/lekcje/sieciowa-wspolpraca/ i tutaj: "
1228             u"https://edukacjamedialna.edu.pl/lekcje/dokumentacja-i-narracje-cyfrowe/.",
1229
1230             u"Jeśli nie zaczniecie pracy od zastanowienia się nad tym, jaką historię chcecie opowiedzieć, nie dacie "
1231             u"sobie szansy, aby opowiadała ona o rzeczach ważnych dla Was. Stworzycie – zamiast własnej historii – "
1232             u"zbitek cudzych opowieści. Oryginalny pomysł i scenariusz – oparte na własnych odczuciach, czyli "
1233             u"„twórcze, a nie odtwórcze” to najważniejszy etap opowiadania historii. Im więcej własnych idei "
1234             u"i koncepcji włożycie w opowiadaną historię, tym będzie Wam bliższa, i tym lepiej będzie przemawiała "
1235             u"do jej odbiorców. I, co także bardzo ważne, historia, którą wymyślicie sami, na pewno nie będzie "
1236             u"naruszać niczyich praw autorskich…\n"
1237             u"\n"
1238             u"Ważne są także kolejne kroki, które podejmiecie. Po wyborze tematu musicie podzielić się zadaniami, "
1239             u"aby każdy element zadania był wykonany. Jeśli tego nie zrobicie, w grupie szybko zapanuje chaos – "
1240             u"jednymi sprawami zajmie się kilka osób, a innymi – nikt. Warto też opracować harmonogram, aby ze "
1241             u"wszystkim zdążyć na czas. Podczas realizacji zadania bądźcie w stałym kontakcie, aby na bieżąco "
1242             u"wymieniać się uwagami na temat wspólnej pracy.\n"
1243             u"\n"
1244             u"Więcej o tym, jak zorganizować wspólną pracę, znaleźć można tutaj: "
1245             u"https://edukacjamedialna.edu.pl/lekcje/sieciowa-wspolpraca/ i tutaj: "
1246             u"https://edukacjamedialna.edu.pl/lekcje/dokumentacja-i-narracje-cyfrowe/.",
1247
1248             u"Temat opowieści, który wybieracie razem, jest jednocześnie jej początkiem. Jeśli zrodzi się w dyskusji "
1249             u"między Wami, to dacie sobie możliwość opowiedzenia własnej historii. Jeśli jednak na tym "
1250             u"poprzestaniecie, wykorzystując cudze filmiki i zdjęcia, nie będzie ona wyłącznie Wasza, bowiem będziecie "
1251             u"opowiadać cudzymi słowami i obrazami. Oryginalny pomysł i scenariusz – oparte na własnych pomysłach, "
1252             u"czyli „twórcze, a nie odtwórcze” to najważniejszy etap opowiadania historii. Im więcej własnych idei "
1253             u"i koncepcji włożycie w opowiadaną historię, tym będzie Wam bliższa, i tym lepiej będzie przemawiała "
1254             u"do jej odbiorców. I, co także bardzo ważne, historia, którą wymyślicie sami, na pewno nie będzie "
1255             u"naruszać niczyich praw autorskich…\n"
1256             u"\n"
1257             u"Ważne są także kolejne kroki, które podejmiecie. Po wyborze tematu musicie podzielić się zadaniami, "
1258             u"aby każdy element zadania był wykonany. Jeśli tego nie zrobicie, w grupie szybko zapanuje chaos – "
1259             u"jednymi sprawami zajmie się kilka osób, a innymi – nikt. Warto też opracować harmonogram, aby ze "
1260             u"wszystkim zdążyć na czas. Podczas realizacji zadania bądźcie w stałym kontakcie, aby na bieżąco "
1261             u"wymieniać się uwagami na temat wspólnej pracy.\n"
1262             u"\n"
1263             u"Więcej o tym, jak zorganizować wspólną pracę, znaleźć można tutaj: "
1264             u"https://edukacjamedialna.edu.pl/lekcje/sieciowa-wspolpraca/ i tutaj: "
1265             u"https://edukacjamedialna.edu.pl/lekcje/dokumentacja-i-narracje-cyfrowe/."),
1266         (
1267             u"Korzystając z Internetu i komunikując się z innymi użytkownikami możemy odnieść wrażenie, że użytkownicy "
1268             u"zwracają się do siebie w bardzo bezpośredni sposób. Nie można jednak nikogo zmuszać do zaakceptowania "
1269             u"powszechnych reguł komunikacji w Internecie, jeśli w rzeczywistości na co dzień dana osoba nie stosuje "
1270             u"nieformalnej komunikacji w kontaktach z nieznajomymi, w tym również przedstawicielami różnych firm "
1271             u"i organizacji. Trudno nam sobie w rzeczywistości niewirtualnej wyobrazić pracownika jakiejś firmy, "
1272             u"który po imieniu odpowiada nam na zadane przez nas pytania. Najlepszą reakcja firmy na zaistniały "
1273             u"problem jest więc przeproszenie użytkownika za bezpośredni i nieformalny zwrot po imieniu.\n"
1274             u"\n"
1275             u"Prof. Jerzy Bralczyk o netykiecie: https://www.youtube.com/watch?v=thwUHPXbBoo.\n"
1276             u"\n"
1277             u"O zwracaniu się w Internecie do innych użytkowników per „pani” / „pan” można posłuchać na kanale "
1278             u"„Czas Gentelmanów”: https://www.youtube.com/watch?v=A8qznS7LjQY.",
1279
1280             u"Korzystając z Internetu i komunikując się z innymi użytkownikami możemy odnieść wrażenie, że użytkownicy "
1281             u"zwracają się do siebie w bardzo bezpośredni sposób. Nie można jednak nikogo zmuszać do zaakceptowania "
1282             u"powszechnych reguł komunikacji w Internecie, zwłaszcza, jeśli w rzeczywistości na co dzień dana osoba "
1283             u"nie stosuje nieformalnej komunikacji w kontaktach z nieznajomymi, w tym również przedstawicielami "
1284             u"różnych firm i organizacji. Trudno nam w rzeczywistości niewirtualnej wyobrazić sobie pracownika "
1285             u"jakiejś firmy, który po imieniu odpowiada nam na zadane przez nas pytania. Najlepszą reakcją firmy "
1286             u"na zaistniały problem jest więc przeproszenie użytkownika za bezpośredni formalny zwrot po imieniu. "
1287             u"Pod żadnym pozorem nie powinna ignorować użytkownika odwołując się do zasady netykiety, czyli zbioru "
1288             u"zasad porozumiewania się w Internecie. Chociaż zgodnie z jej zasadami, przyjęte jest zwracanie się "
1289             u"do siebie po imieniu, to nie możemy innym narzucać własnych reguł komunikacji. Dotyczy to przede "
1290             u"wszystkim firm, które komunikują się w Internecie ze swoimi klientami.\n"
1291             u"\n"
1292             u"Prof. Jerzy Bralczyk o netykiecie: https://www.youtube.com/watch?v=thwUHPXbBoo.\n"
1293             u"\n"
1294             u"O zwracaniu się w Internecie do innych użytkowników per „pani” / „pan” można posłuchać na kanale "
1295             u"„Czas Gentelmanów”: https://www.youtube.com/watch?v=A8qznS7LjQY.",
1296
1297             u"Korzystając z Internetu i komunikując się z innymi użytkownikami możemy odnieść wrażenie, że użytkownicy "
1298             u"zwracają się do siebie w bardzo bezpośredni sposób. Nie można jednak nikogo zmuszać do zaakceptowania "
1299             u"powszechnych reguł komunikacji w Internecie, jeśli w rzeczywistości na co dzień dana osoba stosuje "
1300             u"formalna komunikację w kontaktach z osobami nieznajomymi, w tym również przedstawicielami różnych firm "
1301             u"i organizacji. Trudno nam sobie w rzeczywistości niewirtualnej wyobrazić pracownika jakiejś firmy, "
1302             u"który po imieniu odpowiada nam na zadane przez nas pytania. Poprawną reakcją firmy na zaistniały problem "
1303             u"w komunikacji internetowej jest działanie zgodne z wypracowanymi wewnętrznie zasadami komunikacji. "
1304             u"Stanowią one coś na wzór kodeksu opracowanego przez daną firmę, który mówi pracownikom firmy, "
1305             u"jak należy zachowywać się w kontaktach z klientami. Niezależnie od zasad obowiązujących w firmie, "
1306             u"najlepszym rozwiązaniem będzie przeproszenie urażonego użytkownika.\n"
1307             u"\n"
1308             u"Prof. Jerzy Bralczyk o netykiecie: https://www.youtube.com/watch?v=thwUHPXbBoo.\n"
1309             u"\n"
1310             u"O zwracaniu się w Internecie do innych użytkowników per „pani” / „pan” można posłuchać na kanale "
1311             u"„Czas Gentelmanów”: https://www.youtube.com/watch?v=A8qznS7LjQY."),
1312         (
1313             u"Krytyczne podejście do informacji to jedna z najważniejszych umiejętności we współczesnym świecie, "
1314             u"w którym informacja otacza nas i dociera zewsząd. Przy tworzeniu aplikacji warto skontaktować się "
1315             u"z administracją, aby ustalić liczbę dostępnych miejsc. Pamiętaj jednak, że osoba udzielająca informacji "
1316             u"może nie mieć pełnej wiedzy – lub popełnić błąd. Dobrze byłoby zweryfikować otrzymane informacje "
1317             u"osobiście (aby Twoje dane pochodziły z więcej niż jednego źródła).\n"
1318             u"\n"
1319             u"Więcej o tym, dlaczego warto weryfikować informacje, dowiesz się tu:\n"
1320             u"https://www.youtube.com/watch?v=ZHHmEi9VAbY.\n"
1321             u"\n"
1322             u"Więcej o weryfikacji informacji w Internecie dowiesz się stąd:\n"
1323             u"http://www.heuristic.pl/blog/internet/Wiarygodnosc-informacji-zamieszczanych-w-Internecie;204.html.",
1324
1325             u"Krytyczne podejście do informacji to jedna z najważniejszych umiejętności we współczesnym świecie, "
1326             u"w którym informacja otacza nas i dociera zewsząd. Ważne jest, aby uzyskana przez Ciebie informacja była "
1327             u"aktualna i najlepiej, aby pochodziła z więcej niż jednego źródła. Dlatego optymalnym rozwiązaniem byłoby "
1328             u"sprawdzenie danych ze strony (która mogła dawno nie być aktualizowana), na przykład poprzez kontakt "
1329             u"z administracją oraz osobiste udanie się na miejsce i sprawdzenie uzyskanych odpowiedzi.\n"
1330             u"\n"
1331             u"Więcej o tym, dlaczego warto weryfikować informacje dowiesz się tu:\n"
1332             u"https://www.youtube.com/watch?v=ZHHmEi9VAbY.\n"
1333             u"\n"
1334             u"Więcej o weryfikacji informacji w Internecie dowiesz się stąd:\n"
1335             u"http://www.heuristic.pl/blog/internet/Wiarygodnosc-informacji-zamieszczanych-w-Internecie;204.html.",
1336
1337             u"Krytyczne podejście do informacji to jedna z najważniejszych umiejętności we współczesnym świecie, "
1338             u"w którym informacja otacza nas i dociera zewsząd. Ważne jest, aby uzyskana przez Ciebie informacja była "
1339             u"aktualna, wiarygodna i wyczerpująca. Dlatego optymalnym rozwiązaniem jest właśnie kontakt "
1340             u"z administracją oraz osobiste udanie się na miejsce i sprawdzenie uzyskanych odpowiedzi. Ważne jest "
1341             u"także sprawdzenie, jakie okoliczności mogą wpływać na stan „formalny” badanej rzeczywistości – "
1342             u"częstotliwość łamania przepisów przez pełnosprawnych kierowców stanowi taką incydentalną okoliczność, "
1343             u"której częste występowanie może całkowicie zniweczyć sens używania aplikacji, jeśli nie zostanie "
1344             u"uwzględnione w jej działaniu.\n"
1345             u"\n"
1346             u"Więcej o tym, dlaczego warto weryfikować informacje dowiesz się tu:\n"
1347             u"https://www.youtube.com/watch?v=ZHHmEi9VAbY.\n"
1348             u"\n"
1349             u"Więcej o weryfikacji informacji w Internecie dowiesz się tu:\n"
1350             u"http://www.heuristic.pl/blog/internet/Wiarygodnosc-informacji-zamieszczanych-w-Internecie;204.html."),
1351         (
1352             u"Niewidzialna praca to między innymi praca wykonywana na rzecz swojej rodziny / wolontariat. Chociaż "
1353             u"zazwyczaj kojarzona jest z pracą w domu (na przykład kobiety opiekujące się dziećmi), to odnosi się też "
1354             u"do „szarych pracowników” wielkich korporacji, którzy stoją za sukcesem tych przedsiębiorstw, w tym "
1355             u"moderatorów mediów społecznościowych, których rola jest niezastąpiona i niezbędna dla sprawnego "
1356             u"funkcjonowania biznesu.\n"
1357             u"„Niewidzialną pracą” można nazwać również aktywność użytkowników mediów społecznościowych, którzy "
1358             u"poprzez komentarze pod wpisami i newsami podtrzymują zainteresowanie innych użytkowników, a co za tym "
1359             u"idzie zwiększają zainteresowanie potencjalnych reklamodawców.\n"
1360             u"\n"
1361             u"O niewidzialnej pracy można przeczytać w artykule pt. „Niewidzialna praca o wielkiej mocy”: "
1362             u"http://www.praca.pl/poradniki/rynek-pracy/niewidzialna-praca-o-wielkiej-mocy_pr-1711.html.",
1363
1364             u"Niewidzialna praca to między innymi praca wykonywana na rzecz swojej rodziny / wolontariat. Chociaż "
1365             u"zazwyczaj kojarzona jest z pracą w domu (na przykład kobiety opiekujące się dziećmi), to odnosi się też "
1366             u"do „szarych pracowników” wielkich korporacji, którzy stoją za sukcesem tych przedsiębiorstw, w tym "
1367             u"moderatorów mediów społecznościowych, których rola jest niezastąpiona i niezastąpiona i niezbędna dla "
1368             u"sprawnego funkcjonowania biznesu.\n"
1369             u"„Niewidzialną pracą” można nazwać również aktywność użytkowników mediów społecznościowych, którzy "
1370             u"poprzez komentarze pod wpisami i newsami oraz udostępnianie różnego rodzaju treści podtrzymują "
1371             u"zainteresowanie innych użytkowników, a co za tym idzie zwiększają zainteresowanie potencjalnych "
1372             u"reklamodawców.\n"
1373             u"\n"
1374             u"O niewidzialnej pracy można przeczytać w artykule pt. „Niewidzialna praca o wielkiej mocy”: "
1375             u"http://www.praca.pl/poradniki/rynek-pracy/niewidzialna-praca-o-wielkiej-mocy_pr-1711.html.",
1376
1377             u"Niewidzialna praca to między innymi praca wykonywana na rzecz swojej rodziny / wolontariat. Chociaż "
1378             u"zazwyczaj kojarzona jest z pracą w domu (na przykład kobiety opiekujące się dziećmi), to odnosi się "
1379             u"też do „szarych pracowników” wielkich korporacji, którzy stoją za sukcesem tych przedsiębiorstw, "
1380             u"w tym moderatorów mediów społecznościowych, których rola jest niezastąpiona i niezbędna dla sprawnego "
1381             u"funkcjonowania biznesu.\n"
1382             u"„Niewidzialną pracą” można nazwać również aktywność użytkowników mediów społecznościowych, którzy "
1383             u"poprzez komentarze pod wpisami i newsami podtrzymują zainteresowanie innych użytkowników, a co za tym "
1384             u"idzie zwiększają zainteresowanie potencjalnych reklamodawców.\n"
1385             u"Z całą pewnością informatycy budujący rozwiązania IT dla firm nie są osobami wykonującymi „niewidzialną "
1386             u"pracę”, chociażby z tego względu, że swoją pracę wykonują najczęściej poza domem, jej efekty są "
1387             u"dostrzegane i doceniane oraz pobierają za nią wysokie wynagrodzenia (pracownicy IT są jedną z najlepiej "
1388             u"opłacanych grup zawodowych na całym świecie).\n"
1389             u"\n"
1390             u"O niewidzialnej pracy można przeczytać w artykule pt. „Niewidzialna praca o wielkiej mocy”: "
1391             u"http://www.praca.pl/poradniki/rynek-pracy/niewidzialna-praca-o-wielkiej-mocy_pr-1711.html."),
1392         (
1393             u"Informacja nazywana jest we współczesnym świecie „zasobem strategicznym”. Pozwala działać, planować, "
1394             u"podejmować decyzje w świadomy sposób – i z prawdopodobieństwem osiągnięcia dobrych skutków. Jednak, "
1395             u"aby informacja spełniała takie funkcje, musi być wiarygodna, aktualna, kompletna. Jej wiarygodność "
1396             u"należy zatem sprawdzać i weryfikować. Jeśli pojawia się w więcej niż jednym źródle, rośnie "
1397             u"prawdopodobieństwo, że nie jest manipulacją ani dezinformacją. Czasami zdarza się, że kolejne media "
1398             u"bezmyślnie powtarzają informację za tym, kto podał ją jako pierwszy, i trafia ona do wielu odbiorców, "
1399             u"ostatecznie okazuje się nieprawdziwa. Bez dotarcia do jej właściwego, oryginalnego źródła, trudno mieć "
1400             u"100-procentową pewność, że mamy do czynienia z wartościową informacją.",
1401
1402             u"Informacja nazywana jest we współczesnym świecie „zasobem strategicznym”. Pozwala działać, planować, "
1403             u"podejmować decyzje w świadomy sposób – i z prawdopodobieństwem osiągnięcia dobrych skutków. Jednak, aby "
1404             u"informacja spełnia takie funkcje, musi być wiarygodna, aktualna, kompletna. Jej wiarygodność należy "
1405             u"zatem sprawdzać i weryfikować. Jeśli pojawia się w więcej niż jednym źródle, rośnie prawdopodobieństwo, "
1406             u"że nie jest manipulacją ani dezinformacją. Jeśli dodatkowo informacja potwierdzona jest możliwością "
1407             u"dotarcia do oryginalnego jej źródła, zamiast opracowania lub interpretacji, można z wysokim "
1408             u"prawdopodobieństwem zakładać, że jest prawdziwa.",
1409
1410             u"Informacja nazywana jest we współczesnym świecie „zasobem strategicznym”. Pozwala działać, planować, "
1411             u"podejmować decyzje w świadomy sposób – i z prawdopodobieństwem osiągnięcia dobrych skutków. Jednak, aby "
1412             u"informacja spełnia takie funkcje, musi być wiarygodna, aktualna, kompletna. Informacja pochodząca "
1413             u"jedynie z serwisów społecznościowych i nielicznych portali informacyjnych, a także nie można ustalić jej "
1414             u"oryginalnego źródła, nie wolno zakładać, że jest prawdziwa. Możemy pozwolić wprowadzić się w błąd – "
1415             u"a nasi znajomi, na których profilach społecznościowych będziemy się opierać, mogą nawet nie mieć "
1416             u"świadomości, że rozprzestrzeniają nieprawdziwe informacje.\n"
1417             u"\n"
1418             u"O potencjalnych konsekwencjach fałszywych informacji w prawdziwym świecie przeczytasz tu:\n"
1419             u"https://www.wprost.pl/swiat/10030588/"
1420             u"Facebook-wplynal-na-wynik-amerykanskich-wyborow-Zuckerberg-komentuje.html."),
1421         (
1422             u"Samo podjęcie czynności kontrolnych przez prokuraturę nie musi oznaczać, że umowy podpisywane "
1423             u"z wykonawcami budżetu obywatelskiego odbyły się z naruszeniem prawa. Każdy z nas może paść ofiarą "
1424             u"niesłusznych oskarżeń, dlatego powinno unikać się ocen dotyczących ewentualnej winy. Dopóki zarzuty "
1425             u"postawione przez prokuraturę (jeśli w ogóle zostaną postawione) nie zostaną uprawomocnione wyrokiem "
1426             u"sądowym, obowiązuje tzw. domniemanie niewinności. Tytuł zastosowanego newsa jest akceptowalny, ponieważ "
1427             u"nie rozstrzyga ewentualnej winy wykonawców budżetu obywatelskiego. Niestety, z drugiej strony "
1428             u"sformułowanie „niejasne umowy” sugeruje pewnego rodzaju nieprawidłowości. Dziennikarze tworzący newsy "
1429             u"powinni działać zgodnie z etyką zawodową. Są oni zobowiązani do rzetelnego informowania o faktach "
1430             u"i unikaniu prasowych przekłamań, nie tylko w treści newsów, ale również w ich tytułach. Bywa jednak tak, "
1431             u"że dziennikarze tworzący tytuły wiadomości manipulują nami, aby podstępnie zmusić nas do zaznajomienia "
1432             u"się z ich treścią. Robią to najczęściej w celu wygenerowania dodatkowych zysków z reklam, które "
1433             u"pojawiają się obok treści wiadomości. To zjawisko nosi nazwę „clickbait”.\n"
1434             u"\n"
1435             u"Jeśli chcesz dowiedzieć się czym jest dokładnie „clickbait” posłuchaj audycji pt. „Clickbait w sieci, "
1436             u"czyli kto chce cię oszukać”: "
1437             u"http://www.polskieradio.pl/9/3850/Artykul/1665036,Clickbait-w-sieci-czyli-kto-chce-cie-oszukac.\n"
1438             u"\n"
1439             u"W celu zapoznania się ze standardami pracy dziennikarskiej warto przeczytać:\n"
1440             u"Kartę Etyczną Mediów: http://www.dziennikarzerp.pl/wp-content/uploads/2010/06/karta_dziennikarzy.pdf.\n"
1441             u"Kodeks etyki dziennikarskiej Stowarzyszenia Dziennikarzy Polskich: "
1442             u"http://sdp.pl/s/kodeks-etyki-dziennikarskiej-sdp.\n"
1443             u"Dziennikarski kodeks obyczajowy Stowarzyszenia Dziennikarzy RP: "
1444             u"http://www.dziennikarzerp.pl/wp-content/uploads/2010/06/kodeks.pdf.",
1445
1446             u"Zastosowanie takiego tytułu jest najlepsze, ponieważ stwierdza tylko pewien fakt, a jednocześnie "
1447             u"nie przesądza o rezultatach działań kontrolnych prokuratury. Samo podjęcie czynności kontrolnych "
1448             u"przez prokuraturę nie musi oznaczać, że umowy podpisywane z wykonawcami budżetu obywatelskiego odbyły "
1449             u"się z naruszeniem prawa. Każdy z nas może paść ofiarą niesłusznych oskarżeń, dlatego powinno unikać się "
1450             u"skrajnych ocen dotyczących ewentualnej winy. Dopóki zarzuty postawione przez prokuraturę (jeśli w ogóle "
1451             u"zostaną postawione) nie zostaną uprawomocnione wyrokiem sądowym obowiązuje tzw. domniemanie niewinności. "
1452             u"Tytuł zastosowanego newsa jest poprawny i zgodny z etyką zawodową dziennikarza. Pamiętajmy, "
1453             u"że dziennikarze zobowiązani są do rzetelnego informowania o faktach i unikaniu prasowych przekłamań, "
1454             u"nie tylko w treści newsów, ale również w ich tytułach.\n"
1455             u"\n"
1456             u"W celu zapoznania się ze standardami pracy dziennikarskiej warto przeczytać:\n"
1457             u"Kartę Etyczną Mediów: http://www.dziennikarzerp.pl/wp-content/uploads/2010/06/karta_dziennikarzy.pdf.\n"
1458             u"Kodeks etyki dziennikarskiej Stowarzyszenia Dziennikarzy Polskich: "
1459             u"http://sdp.pl/s/kodeks-etyki-dziennikarskiej-sdp.\n"
1460             u"Dziennikarski kodeks obyczajowy Stowarzyszenia Dziennikarzy RP: "
1461             u"http://www.dziennikarzerp.pl/wp-content/uploads/2010/06/kodeks.pdf.",
1462
1463             u"Zastosowanie takiego tytułu wprowadza tylko niepotrzebny zamęt i nosi znamiona manipulacji skierowanej "
1464             u"wobec czytelników. Taki tytuł może być krzywdzący dla wykonawców, ponieważ wprost sugeruje ich winę. "
1465             u"Samo podjęcie czynności kontrolnych przez prokuraturę nie musi oznaczać, że umowy podpisywane "
1466             u"z wykonawcami budżetu obywatelskiego odbyły się z naruszeniem prawa. Każdy z nas może paść ofiarą "
1467             u"niesłusznych oskarżeń, dlatego powinno unikać się skrajnych ocen dotyczących ewentualnej winy. "
1468             u"Dopóki zarzuty postawione przez prokuraturę (jeśli w ogóle zostaną postawione) nie zostaną "
1469             u"uprawomocnione wyrokiem sądowym obowiązuje tzw. domniemanie niewinności. Tytuł zastosowanego newsa jest "
1470             u"nieakceptowalny, ponieważ zakłada winę, której nie udowodniono. Dziennikarze tworzący newsy powinni "
1471             u"działać zgodnie z etyką zawodową. Są oni zobowiązani do rzetelnego informowania o faktach i unikaniu "
1472             u"prasowych przekłamań, nie tylko w treści newsów, ale również w ich tytułach. Bywa jednak tak, że "
1473             u"dziennikarze tworzący tytuły wiadomości manipulują nami, aby podstępnie zmusić nas do zaznajomienia się "
1474             u"z ich treścią. Robią to najczęściej w celu wygenerowania dodatkowych zysków z reklam, które pojawiają "
1475             u"się obok treści wiadomości. To zjawisko nosi nazwę „clickbait”.\n"
1476             u"\n"
1477             u"Jeśli chcesz dowiedzieć się czym jest dokładnie „clickbait” posłuchaj audycji pt. „Clickbait w sieci, "
1478             u"czyli kto chce cię oszukać”: "
1479             u"http://www.polskieradio.pl/9/3850/Artykul/1665036,Clickbait-w-sieci-czyli-kto-chce-cie-oszukac.\n"
1480             u"\n"
1481             u"W celu zapoznania się ze standardami pracy dziennikarskiej warto przeczytać:\n"
1482             u"Kartę Etyczną Mediów: http://www.dziennikarzerp.pl/wp-content/uploads/2010/06/karta_dziennikarzy.pdf.\n"
1483             u"Kodeks etyki dziennikarskiej Stowarzyszenia Dziennikarzy Polskich: "
1484             u"http://sdp.pl/s/kodeks-etyki-dziennikarskiej-sdp.\n"
1485             u"Dziennikarski kodeks obyczajowy Stowarzyszenia Dziennikarzy RP: "
1486             u"http://www.dziennikarzerp.pl/wp-content/uploads/2010/06/kodeks.pdf."),
1487         (
1488             u"Wymienione w odpowiedzi narzędzia służą raczej dystrybucji informacji i prezentowaniu własnych wniosków "
1489             u"/ przemyśleń (Power Point lub podcast), a nie pracy w grupie. Stosowane przy realizacji projektu "
1490             u"narzędzia muszą pozwalać na komunikację zwrotną, wymianę myśli i ustalenia – a także wprowadzanie "
1491             u"zmian w tworzonych treściach (muszą zatem pozwalać na tworzenie treści w formie wspólnie realizowanego "
1492             u"procesu, a nie prezentować je statycznie).\n"
1493             u"\n"
1494             u"Informacje o komunikacji w projektach znajdziesz tu:\n"
1495             u"http://www.ptzp.org.pl/files/konferencje/kzz/artyk_pdf_2017/T1/t1_200.pdf.",
1496
1497             u"Wymienione w odpowiedzi narzędzia służą wspólnej pracy nad projektem, mogą jednak nie pozwalać "
1498             u"na przykład na pełne śledzenie chronologii wypowiedzi i ustaleń (Coggle) lub też odnotowanie efektów "
1499             u"i ustaleń (Skype). Stosowane przy realizacji Waszego projektu narzędzia muszą pozwalać na komunikację "
1500             u"zwrotną, wymianę myśli i ustalenia – a także wprowadzanie zmian w tworzonych treściach (muszą zatem "
1501             u"pozwalać na tworzenie treści w formie wspólnie realizowanego procesu, a nie prezentować je statycznie) "
1502             u"i umożliwiać śledzenie historii dokonywanych ustaleń i wprowadzanych zmian.\n"
1503             u"\n"
1504             u"Informacje o komunikacji w projektach znajdziesz tu:\n"
1505             u"http://www.ptzp.org.pl/files/konferencje/kzz/artyk_pdf_2017/T1/t1_200.pdf.",
1506
1507             u"Wybrane narzędzia powinny doskonale odpowiedzieć na potrzeby współpracy przy realizacji projektu. "
1508             u"Pozwalają zarówno na zarządzanie wewnątrz projektu (Wunderlist), jak i wspólne tworzenie koncepcji "
1509             u"opracowywanego dzieła (OneNote, Google Docs). Szybka, grupowa komunikacja, uwzględniająca wszystkich "
1510             u"uczestników projektu, zachowująca historię konwersacji, pozwala nie tylko na dokonywanie ustaleń, "
1511             u"ale i odnoszenie się do nich w przyszłości.\n"
1512             u"\n"
1513             u"Informacje o komunikacji w projektach znajdziesz tu:\n"
1514             u"http://www.ptzp.org.pl/files/konferencje/kzz/artyk_pdf_2017/T1/t1_200.pdf."),
1515         (
1516             u"Liczba edycji hasła na Wikipedii nie jest wskaźnikiem jego jakości. Przy niektórych hasłach, szczególnie "
1517             u"społecznie drażliwych i kontrowersyjnych, liczba edycji może wynikać z braku zgody społeczności "
1518             u"wikipedystów co do jednej neutralnej definicji. Przyczyną dużej liczby edycji bywa również zamierzone "
1519             u"i złośliwe działanie internautów, którzy stosując tzw. trolling zmieniają znaczenie danego hasła, "
1520             u"obniżając jego wartość merytoryczną lub przedstawiając skrajny punkt widzenia. Liczba edycji może "
1521             u"wynikać też ze zmieniającej się stale wiedzy na temat danego zjawiska.\n"
1522             u"\n"
1523             u"Na temat oceny jakości haseł tworzonych na Wikipedii można przeczytać tutaj: "
1524             u"https://pl.wikipedia.org/wiki/Wikipedia:Ocena_jakości.",
1525
1526             u"Długość hasła na Wikipedii może być dobry miernikiem jego jakości, ale też niewystarczającym. "
1527             u"Podobnie z jego strukturą. Nawet jeśli hasło zawiera odpowiedni wstęp definicyjny oraz dalsze "
1528             u"skonkretyzowanie omawianej problematyki, nie oznacza to automatycznie, że mamy do czynienia z hasłem "
1529             u"wysokiej jakości. Długość i odpowiednia struktura nie będą niosły ze sobą wartości, jeśli hasło "
1530             u"nie będzie zawierało odpowiednich przypisów i odnośników do innych rzetelnych źródeł, w których "
1531             u"potwierdzone są tezy i informacje zawarte w opisie hasła. Po zapoznaniu się z interesującym hasłem "
1532             u"warto zawsze sprawdzić źródła, do których się ono odnosi. Sama obecność odnośników nie oznacza, że są "
1533             u"one aktualne i rzetelne.\n"
1534             u"\n"
1535             u"Na temat oceny jakości haseł tworzonych na Wikipedii można przeczytać tutaj: "
1536             u"https://pl.wikipedia.org/wiki/Wikipedia:Ocena_jakości.",
1537
1538             u"Ani liczba edycji hasła, ani jego długość i struktura nie ma znaczenia dla jego jakości, jeśli w opisie "
1539             u"hasła nie znajdziemy odpowiednich przypisów. To źródła, do których odnosi się opis hasła, stanowią "
1540             u"przede wszystkim o jego wartości merytorycznej. Należy jednak pamiętać, że sama obecność odnośników "
1541             u"jeszcze nic nie znaczy, warto samemu sprawdzić, czy są one aktualne i odnoszą do rzetelnej wiedzy.\n"
1542             u"Na temat oceny jakości haseł tworzonych na Wikipedii można przeczytać tutaj: "
1543             u"https://pl.wikipedia.org/wiki/Wikipedia:Ocena_jakości."),
1544         (
1545             u"Ochrona praw autorskich oraz przestrzeganie przepisów i norm związanych z tymi prawami jest szczególnie "
1546             u"istotna w cyfrowym świecie, w którym skopiowanie cudzego pomysłu wymaga często jedynie zastosowanie "
1547             u"funkcji „Kopiuj – Wklej”. Wykorzystanie podpisanej grafiki z podaniem jedynie adresu strony nie "
1548             u"gwarantuje ochrony praw jej autora – grafika mogła znaleźć się na stronie w sposób niezgodny z prawem, "
1549             u"z naruszeniem praw jej autora, poza tym autor interesującej nas grafiki ma prawo do bycia docenionym "
1550             u"poprzez podanie imienia i nazwiska lub pseudonimu. Dlatego, jeśli masz wątpliwości, zrób co możesz, "
1551             u"aby ustalić jej pierwotne źródło i autora i sprawdzić, czy pozwolił on na jej wykorzystywanie przez inne "
1552             u"osoby.\n"
1553             u"\n"
1554             u"O tym, że nawet wielkie firmy popełniają plagiaty przeczytasz tu:\n"
1555             u"http://noizz.pl/lifestyle/"
1556             u"zara-kopiuje-grafiki-artystki-my-jestesmy-znani-a-ty-nie-odpowiadaja-prawnicy-firmy/p9y17wp.\n"
1557             u"\n"
1558             u"O ochronie praw autorskich więcej dowiesz się tu: http://prawokultury.pl.",
1559
1560             u"Ochrona praw autorskich oraz przestrzeganie przepisów i norm związanych z tymi prawami jest szczególnie "
1561             u"istotna w cyfrowym świecie, w którym skopiowanie cudzego pomysłu wymaga często jedynie zastosowanie "
1562             u"funkcji „Kopiuj – Wklej”. Wykorzystanie podpisanej grafiki z podaniem jedynie adresu strony "
1563             u"nie gwarantuje ochrony praw jej autora – grafika mogła znaleźć się na stronie w sposób niezgodny "
1564             u"z prawem, z naruszeniem praw jej autora. Z takiego jednego naruszenia mogą rodzić się kolejne – "
1565             u"grafika może być zamieszczana przez administratorów kolejnych stron. Dlatego, jeśli masz wątpliwości, "
1566             u"zrób co możesz, aby ustalić jej pierwotne źródło i autora i sprawdzić, czy pozwolił on na jej "
1567             u"wykorzystywanie przez inne osoby.\n"
1568             u"\n"
1569             u"O ochronie praw autorskich więcej dowiesz się tu: http://prawokultury.pl.",
1570
1571             u"Ochrona praw autorskich oraz przestrzeganie przepisów i norm związanych z tymi prawami jest szczególnie "
1572             u"istotna w cyfrowym świecie, w którym skopiowanie cudzego pomysłu wymaga często jedynie zastosowanie "
1573             u"funkcji „Kopiuj – Wklej”. Wykorzystanie podpisanej grafiki z podaniem jedynie adresu strony "
1574             u"nie gwarantuje ochrony praw jej autora – grafika mogła znaleźć się na stronie w sposób niezgodny "
1575             u"z prawem, z naruszeniem praw jej autora. Zrobienie wszystkiego, co możliwe, aby ustalić jej pierwotne "
1576             u"źródło i autora i sprawdzić, czy pozwolił on na jej wykorzystywanie przez inne osoby, sprawia, "
1577             u"że zachowujemy się nie tylko fair w stosunku do autora, ale także przestrzegamy obowiązujących w tym "
1578             u"zakresie przepisów.\n"
1579             u"\n"
1580             u"O ochronie praw autorskich więcej dowiesz się tu: http://prawokultury.pl."),
1581         (
1582             u"Przedstawiona w kodzie funkcja zawiera niepełną listę argumentów. Zadaniem funkcji f(a) jest "
1583             u"wyświetlenie sumy argumentu „a” oraz argumentu „b”. Niestety, sama funkcja pozwala określić wyłącznie "
1584             u"argument „a” – z tego względu jej zapis jest niezgodny z zadaniem, które ma zrealizować. Główną wadą "
1585             u"tego kodu jest więc przetwarzanie brakującego argumentu „b”.",
1586
1587             u"Przedstawiona w kodzie funkcja zawiera niepełną listę argumentów. Zadaniem funkcji f(a) jest "
1588             u"wyświetlenie sumy argumentu „a” oraz argumentu „b”. Niestety, sama funkcja pozwala określić wyłącznie "
1589             u"argument „a” – z tego względu jej zapis jest niezgodny z zadaniem, które ma zrealizować. Odpowiedź ta "
1590             u"jest niepoprawna, ponieważ funkcja nie określa, czy argument zarówno „a” jak i „b” muszą mieć charakter "
1591             u"liczbowy. Mogą mieć również charakter łańcuchowy (tj. tekstowy).",
1592
1593             u"Jest to błędna odpowiedź, ponieważ litera „f” w podanym kodzie nie oznacza argumentów funkcji. Argument "
1594             u"funkcji oznaczony jest literą „a” i znajduje się w nawiasie. Litera „f” oznacza funkcje, która w tym "
1595             u"przypadku przetwarza argument „a”. Ponadto przedstawiona w kodzie funkcja zawiera niepełną listę "
1596             u"argumentów. Zadaniem przedstawione funkcji f(a) jest wyświetlenie sumy argumentu „a” oraz argumentu „b”. "
1597             u"Niestety, sama funkcja pozwala określić wyłącznie argument „a” – z tego względu jej zapis jest niezgodny "
1598             u"z zadaniem, które ma zrealizować.\n"
1599             u"\n"
1600             u"O definicji funkcji na przykładzie języka programowania C można przeczytać tutaj: "
1601             u"https://pl.wikibooks.org/wiki/C/Funkcje#cite_note-1."),
1602         (
1603             u"Licencje Creative Commons pozwalają zastąpić tradycyjny model ochrony praw autorskich „Wszystkie prawa "
1604             u"zastrzeżone” zasadą „Pewne prawa zastrzeżone” – przy jednoczesnym poszanowaniu zasad prawa autorskiego "
1605             u"(http://creativecommons.pl/poznaj-licencje-creative-commons/). Licencja CC-BY-SA pozwala na kopiowanie, "
1606             u"zmienianie, rozprowadzanie, przedstawianie i wykonywanie utworu oraz utworów zależnych, które muszą być "
1607             u"opublikowane na tej samej licencji. Musisz jednak zwrócić uwagę na to, jaka licencja obowiązuje "
1608             u"dla materiałów ściągniętych z serwisu The Noun Project, aby nie naruszyć praw ich autorów.",
1609
1610             u"Licencje Creative Commons pozwalają zastąpić tradycyjny model ochrony praw autorskich „Wszystkie prawa "
1611             u"zastrzeżone” zasadą „Pewne prawa zastrzeżone” – przy jednoczesnym poszanowaniu zasad prawa autorskiego "
1612             u"(http://creativecommons.pl/poznaj-licencje-creative-commons/). Licencja CC-BY pozwala na kopiowanie, "
1613             u"zmienianie, rozprowadzanie, przedstawianie i wykonywanie utworu jedynie pod warunkiem oznaczenia "
1614             u"autorstwa i gwarantuje najszersze swobody licencjobiorcy. Materiały z serwisu NASA należą natomiast – "
1615             u"jak wszystkie dzieła stworzone przez rząd federalny USA – do domeny publicznej, która daje wszystkim "
1616             u"nieograniczone prawo do dzieł, których wykorzystanie nie podlega restrykcjom i ograniczeniom, ponieważ "
1617             u"prawa majątkowe do twórczości wygasły lub twórczość ta nigdy nie była lub nie jest przedmiotem prawa "
1618             u"autorskiego (http://domenapubliczna.org/co-to-jest-domena-publiczna/).",
1619
1620             u"Wykorzystanie materiałów ściągniętych z wyszukiwarki grafiki Google, bez sprawdzenia ich pochodzenia, "
1621             u"udzielonej przez twórcę licencji oraz bez znajomości praw, jakie przysługują przy ich użyciu, w znacznej "
1622             u"większości mogą narazić Cię na zarzut nieuprawnionego wykorzystania cudzej twórczości, a zatem "
1623             u"naruszenia praw autorskich. Wyszukiwarka Google umożliwia filtrowanie wyników m.in. na podstawie "
1624             u"licencji, na jakiej zostały udostępnione materiały. Opcję tę znajdziesz w zakładce Narzędzia – Prawa do "
1625             u"użytkowania."),
1626         (
1627             u"Podczas wyszukiwaniu w Internecie obiektów takich jak zdjęcia lub grafiki istotna jest nie tyle liczba "
1628             u"słów kluczowych, co ich trafność. Wybrane przez Ciebie słowa kluczowe zawierają odniesienie do "
1629             u"wydarzenia historycznego, miejsca, formy przekazu – są więc one wyczerpujące i pozwolą otrzymać "
1630             u"najlepsze rezultaty odnoszące się do poszukiwanego przez nas obiektu.",
1631
1632             u"Podczas wyszukiwaniu w Internecie obiektów takich jak zdjęcia lub grafiki istotna jest nie tyle liczba "
1633             u"słów kluczowych, co ich trafność. Wybrane przez Ciebie słowa kluczowe zawierają odniesienia wyłącznie "
1634             u"do miejsca związanego z wydarzeniem oraz jego zawartości wizualnej – są więc one niewyczerpujące i "
1635             u"nie pozwolą uzyskać najlepszych rezultatów odnoszących się do poszukiwanego przez nas obiektu. Brakuje "
1636             u"przede wszystkim odniesienia do samego wydarzenia, czyli angielskiej wojny domowej w latach 1642-1651.",
1637
1638             u"Podczas wyszukiwaniu w Internecie obiektów takich jak zdjęcia lub grafiki istotna jest nie tyle liczba "
1639             u"słów kluczowych, co ich trafność. Wybrane przez Ciebie słowa kluczowe zawierają odniesienia do miejsca "
1640             u"związanego z wydarzeniem, okresu oraz jego formy – są one trafne, a co za tym idzie powinniśmy uzyskać "
1641             u"rezultat odnoszący się do poszukiwanego przez nas obiektu. Warto jednak poszerzyć zakres słów kluczowych "
1642             u"o dodatkowe informacje, na przykład użyć hasła „karykatura”. Dodatkowe słowa mogą zwiększyć skuteczność "
1643             u"naszych poszukiwań."),
1644         (
1645             u"Ochrona praw jednostki w Internecie dotyczy różnych aspektów naszego funkcjonowania w przestrzeni "
1646             u"cyfrowej. Jedną z nich jest ochrona naszych praw do stworzonego dzieła, a zatem naszych praw autorskich. "
1647             u"Nie można zatem wykorzystywać bez pozwolenia niczyich zdjęć do tworzenia własnej relacji z wydarzeń, "
1648             u"nawet organizowanych i przeżytych wspólnie.\n"
1649             u"\n"
1650             u"Co więcej, ludzie mają prawo do samodzielnego decydowania o tym, w jaki sposób ich wizerunek będzie "
1651             u"upubliczniony. Dlatego zanim zamieścisz zdjęcie innej osoby, nawet wspólne selfie, upewnij się, "
1652             u"że sfotografowana osoba wyraża zgodę na zamieszczenie zdjęcia w Internecie.\n"
1653             u"\n"
1654             u"Więcej o ochronie wizerunku dowiesz się tu:\n"
1655             u"https://portal.uw.edu.pl/web/ado/ochrona-wizerunku.",
1656
1657             u"Ochrona praw jednostki w Internecie dotyczy różnych aspektów naszego funkcjonowania w przestrzeni "
1658             u"cyfrowej. Jedną z nich jest ochrona naszych praw do stworzonego dzieła, a zatem naszych praw autorskich. "
1659             u"Nie można zatem wykorzystywać bez pozwolenia niczyich zdjęć do tworzenia własnej relacji z wydarzeń, "
1660             u"nawet organizowanych i przeżytych wspólnie. Zanim wykorzystasz czyjeś zdjęcie – nawet takie, na którym "
1661             u"jesteś – zapytaj o zgodę jego autorkę / autora o możliwość jego wykorzystania.",
1662
1663             u"Ochrona praw jednostki w Internecie dotyczy różnych aspektów naszego funkcjonowania w przestrzeni "
1664             u"cyfrowej. Jedną z nich jest ochrona naszych praw do stworzonego dzieła, a zatem naszych praw autorskich. "
1665             u"Nie można zatem wykorzystywać bez pozwolenia niczyich zdjęć do tworzenia własnej relacji z wydarzeń, "
1666             u"nawet organizowanych i przeżytych wspólnie. Jeśli jednak uzyskałeś zgodę autorki / autora na "
1667             u"publikowanie zdjęć, możesz to bez wahania zrobić. Co więcej, ludzie mają prawo do samodzielnego "
1668             u"decydowania o tym, w jaki sposób ich wizerunek będzie upubliczniony. Jeśli jednak przed publikacją "
1669             u"zdjęcia upewniłeś się, że sfotografowana osoba wyraża na zamieszczenie zdjęcia w Internecie zgodę, "
1670             u"również możesz bez wątpliwości zamieścić zdjęcie.\n"
1671             u"\n"
1672             u"Więcej o ochronie wizerunku dowiesz się tu:\n"
1673             u"https://portal.uw.edu.pl/web/ado/ochrona-wizerunku."),
1674         (
1675             u"Internet to niemal nieskończone źródło informacji, edukacji, rozrywki. Często trudno jest zapanować nad "
1676             u"otwieraniem kolejnych, coraz bardziej interesujących (jak się może zdawać), stron. Zachowanie dyscypliny "
1677             u"i świadomości własnych działań – oraz świadomości upływającego czasu – pozwala na zarządzanie własnym "
1678             u"czasem i efektywne wykorzystanie narzędzia, jakim jest światowa sieć. Warto pamiętać, że taka dyscyplina "
1679             u"bywa trudna, szczególnie jeśli bez żadnego zastanowienia będziesz pozwalać na to, aby kolejne bodźce "
1680             u"odrywały Cię od realizowania zaplanowanych działań.\n"
1681             u"\n"
1682             u"Więcej o zarządzaniu czasem dowiesz się tu:\n"
1683             u"http://michalpasterski.pl/2012/06/zarzadzanie-czasem-w-5-cwiczeniach/.\n"
1684             u"\n"
1685             u"Co nas denerwuje i rozprasza i jak sobie z tym radzić? Zajrzyj tu:\n"
1686             u"http://gazetapraca.pl/gazetapraca/1,95288,13425980,Co_nas_denerwuje__co_nas_rozprasza.html.\n"
1687             u"\n"
1688             u"Pomidor pomoże? Prosty sposób na zarządzanie czasem znajdziesz tu:\n"
1689             u"http://projektantczasu.pl/technika-pomodoro-pommodoro-pomidora/.",
1690
1691             u"Internet to niemal nieskończone źródło informacji, edukacji, rozrywki. Często trudno jest zapanować nad "
1692             u"otwieraniem kolejnych, coraz bardziej interesujących (jak się może zdawać), stron. Zachowanie dyscypliny "
1693             u"i świadomości własnych działań – oraz świadomości upływającego czasu – pozwala na zarządzanie własnym "
1694             u"czasem i efektywne wykorzystanie narzędzia, jakim jest światowa sieć. Jeśli nie narzucisz sam sobie "
1695             u"granic i nie będziesz świadomie panował nad podejmowanymi działaniami, Twój plan nigdy się nie ziści.\n"
1696             u"\n"
1697             u"Więcej o zarządzaniu czasem dowiesz się tu:\n"
1698             u"http://michalpasterski.pl/2012/06/zarzadzanie-czasem-w-5-cwiczeniach/.\n"
1699             u"\n"
1700             u"Co nas denerwuje i rozprasza i jak sobie z tym radzić? Zajrzyj tu:\n"
1701             u"http://gazetapraca.pl/gazetapraca/1,95288,13425980,Co_nas_denerwuje__co_nas_rozprasza.html.\n"
1702             u"\n"
1703             u"Pomidor pomoże? Prosty sposób na zarządzanie czasem znajdziesz tu:\n"
1704             u"http://projektantczasu.pl/technika-pomodoro-pommodoro-pomidora/.",
1705
1706             u"Internet to niemal nieskończone źródło informacji, edukacji, rozrywki. Często trudno jest zapanować nad "
1707             u"otwieraniem kolejnych, coraz bardziej interesujących (jak się może zdawać), stron. Zachowanie dyscypliny "
1708             u"i świadomości własnych działań – oraz świadomości upływającego czasu – pozwala na zarządzanie własnym "
1709             u"czasem i efektywne wykorzystanie narzędzia, jakim jest światowa sieć. Wykorzystanie zewnętrznych "
1710             u"narzędzi, które pozwalają nam obiektywnie oceniać własne zachowania i dokonywać ich stosownej korekty – "
1711             u"jeśli to niezbędne – to sposób nie tylko na efektywne działanie, ale i na zwiększenie prawdopodobieństwa "
1712             u"osiągnięcia sukcesu w podejmowanych przedsięwzięciach.\n"
1713             u"\n"
1714             u"Więcej o zarządzaniu czasem dowiesz się tu:\n"
1715             u"http://michalpasterski.pl/2012/06/zarzadzanie-czasem-w-5-cwiczeniach/.\n"
1716             u"\n"
1717             u"Co nas denerwuje i rozprasza i jak sobie z tym radzić? Zajrzyj tu:\n"
1718             u"http://gazetapraca.pl/gazetapraca/1,95288,13425980,Co_nas_denerwuje__co_nas_rozprasza.html.\n"
1719             u"\n"
1720             u"Pomidor pomoże? Prosty sposób na zarządzanie czasem znajdziesz tu:\n"
1721             u"http://projektantczasu.pl/technika-pomodoro-pommodoro-pomidora/."),
1722         (
1723             u"Wtyczki do przeglądarek, których zadaniem jest blokowanie reklam, nie analizują treści zawartych "
1724             u"na stronach internetowych. Jeśli posiadałyby taką funkcjonalność, to zapewne odczulibyśmy spowolnienie "
1725             u"w działaniu przeglądarki internetowej. Wtyczki blokujące reklamy działają w oparciu o listę plików "
1726             u"graficznych, animacji i wyskakujących okien. To przede wszystkim sam użytkownik decyduje, jakie elementy "
1727             u"strony mają podlegać zablokowaniu w oparciu o zdefiniowane obiekty.\n"
1728             u"\n"
1729             u"O mechanizmie blokowania reklam można przeczytać na stronie producenta najpopularniejszej wtyczki "
1730             u"Adblock Plus: https://adblockplus.org/en/about.",
1731
1732             u"Faktycznie, korzystając z wtyczki blokującej reklamy zauważymy, że reklamy te nie wyświetlają się nam "
1733             u"podczas użytkowania przeglądarki. Co więcej nasza przeglądarka nie tylko nie wyświetla nam zablokowanych "
1734             u"reklam, ale wcześniej przerywa komunikację z serwerami, które odpowiadają za ich publikacje. Za to, jaki "
1735             u"serwer powinien być niedopuszczony do komunikacji z przeglądarką, odpowiada sam użytkownik. Wtyczki "
1736             u"blokujące reklamy działają bowiem w oparciu o listę plików graficznych, animacji i wyskakujących okien. "
1737             u"To przede wszystkim sam użytkownik decyduje, jakie elementy strony mają znaleźć się na stronie i "
1738             u"podlegać zablokowaniu.\n"
1739             u"\n"
1740             u"O mechanizmie blokowania reklam można przeczytać na stronie producenta najpopularniejszej wtyczki "
1741             u"Adblock Plus: https://adblockplus.org/en/about.",
1742
1743             u"Przeglądarka internetowa z zainstalowaną wtyczką nie tylko nie wyświetla nam zablokowane reklamy, "
1744             u"ale przede wszystkim blokuję komunikację z serwerami, które odpowiadają za ich publikacje. Za to, "
1745             u"jaki serwer powinien być niedopuszczony do komunikacji z przeglądarką, odpowiada sam użytkownik. Wtyczki "
1746             u"blokujące reklamy działają bowiem w oparciu o listę plików graficznych, animacji i wyskakujących okien. "
1747             u"To przede wszystkim sam użytkownik decyduje, jakie elementy strony mają znaleźć się na stronie "
1748             u"i podlegać zablokowaniu. Wtyczka nie tylko zablokuje te elementy, ale również nie dopuści do komunikacji "
1749             u"z serwerami odpowiedzialnymi za ich treść.\n"
1750             u"\n"
1751             u"O mechanizmie blokowania reklam można przeczytać na stronie producenta najpopularniejszej wtyczki "
1752             u"Adblock Plus: https://adblockplus.org/en/about."),
1753     ]
1754
1755     @classmethod
1756     def results(cls, contact):
1757         fields = cls().fields
1758
1759         def get_idx(choices, answer):
1760             return dict((score, i) for i, (score, text) in enumerate(choices))[answer]
1761
1762         def question_data(i):
1763             field = 'pyt%s' % i
1764             choices = fields[field].choices
1765             score = contact.body[field]
1766             chosen_idx = get_idx(choices, score)
1767             correct_idx = get_idx(choices, 2)
1768             return {
1769                 'score': score,
1770                 'chosen_idx': chosen_idx,
1771                 'correct_idx': correct_idx,
1772                 'chosen': 'abc'[chosen_idx],
1773                 'correct': 'abc'[correct_idx],
1774                 'label': fields[field].label,
1775                 'comment': mark_safe(markdown.convert(cls.ANSWER_COMMENTS[i-1][chosen_idx])),
1776                 'answers': [(text, a_score == score, a_score == 2) for a_score, text in choices],
1777             }
1778         question_count = 20
1779         questions = [question_data(i) for i in xrange(1, question_count + 1)]
1780         points = sum(question['score'] for question in questions)
1781         return {'questions': questions, 'points': points/2., 'total': question_count}