Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
6 changes: 6 additions & 0 deletions src/apps/announcements/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.contrib import admin

from . import models

admin.site.register(models.Announcement)
admin.site.register(models.NewsPost)
5 changes: 5 additions & 0 deletions src/apps/announcements/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.apps import AppConfig


class AnnouncementsConfig(AppConfig):
name = 'announcements'
32 changes: 32 additions & 0 deletions src/apps/announcements/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Generated by Django 2.2.17 on 2023-06-15 18:12

from django.db import migrations, models
import django.utils.timezone


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Announcement',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField(blank=True, null=True)),
],
),
migrations.CreateModel(
name='NewsPost',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=40, unique=True)),
('link', models.URLField()),
('created_when', models.DateTimeField(default=django.utils.timezone.now)),
('text', models.TextField(blank=True, null=True)),
],
),
]
18 changes: 18 additions & 0 deletions src/apps/announcements/migrations/0002_auto_20230615_2012.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 2.2.17 on 2023-06-15 20:12

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('announcements', '0001_initial'),
]

operations = [
migrations.AlterField(
model_name='newspost',
name='title',
field=models.CharField(max_length=40),
),
]
18 changes: 18 additions & 0 deletions src/apps/announcements/migrations/0003_auto_20230616_1326.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 2.2.17 on 2023-06-16 13:26

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('announcements', '0002_auto_20230615_2012'),
]

operations = [
migrations.AlterField(
model_name='newspost',
name='link',
field=models.URLField(blank=True),
),
]
Empty file.
13 changes: 13 additions & 0 deletions src/apps/announcements/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from django.db import models
from django.utils.timezone import now


class Announcement(models.Model):
text = models.TextField(null=True, blank=True)


class NewsPost(models.Model):
title = models.CharField(max_length=40)
link = models.URLField(max_length=200, blank=True)
created_when = models.DateTimeField(default=now)
text = models.TextField(null=True, blank=True)
8 changes: 8 additions & 0 deletions src/apps/pages/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

from competitions.models import Competition, Submission, CompetitionParticipant
from profiles.models import User
from announcements.models import Announcement, NewsPost

from django.shortcuts import render

Expand Down Expand Up @@ -36,6 +37,13 @@ def get_context_data(self, *args, **kwargs):
{'label': "Competition Participants", 'count': competition_participants},
{'label': "Submissions", 'count': submissions},
]

announcement = Announcement.objects.all().first()
context['announcement'] = announcement.text if announcement else None

news_posts = NewsPost.objects.all().order_by('-id')
context['news_posts'] = news_posts

return context


Expand Down
1 change: 1 addition & 0 deletions src/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
'queues',
'health',
'forums',
'announcements',
)
INSTALLED_APPS = THIRD_PARTY_APPS + OUR_APPS

Expand Down
21 changes: 20 additions & 1 deletion src/static/stylus/home.styl
Original file line number Diff line number Diff line change
Expand Up @@ -226,11 +226,30 @@ body
.color-header
color #4a4a4a

.news
margin-bottom 5em
clear both

.news-heading
float left

.news-heading-title
color darkslategray


.news-date
float right
color darkslategray

.news-body
float left
clear left
text-align left

#cite-container
padding 2em
align-items left


#cite-container .row
margin 2em
padding 1em !important
Expand Down
152 changes: 20 additions & 132 deletions src/templates/pages/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,20 @@
{% endblock %}

{% block content %}

<!-- Annoucement -->
{% if announcement %}
<div style="margin:auto;" class="segment-container ui segment full-width">
<div class="ui header">
<p>Announcement</p>
</div>
<div class="container-content">
<div class="center aligned column">
<h3 class="ui icon header">
<!-- <i class="trophy icon"></i> -->
<p style="font-weight: bold;">Welcome to Codabench!</p>
</h3>
{{ announcement | safe }}
</div>
</div>
</div>
{% endif %}

<div class="home-wrap">
<front-page-competitions></front-page-competitions>
Expand Down Expand Up @@ -195,139 +196,26 @@ <h3 class="ui color-header header">Codalab in Research</h3>
</div>

</div>
<!-- News Section -->
<div class="eight wide center aligned column">
<div class="row news-column-bottom-padding">
<h1 class="ui color-header header">News</h1>

<a href="https://codalab.lri.fr/#"><h3>Codalab statistics</h3>
<p>
<u>August 2020:</u> Codalab
exceeds 50,000 users, 1000 competitions (over 400 in
the last year), and ~600 submissions per day!
</p>

<a href="https://l2rpn.chalearn.org/"><h3>L2RPN</h3>
<p>
<u>July
2020:</u> We launched a new Learning to Run a
Power Network competition, in collaboration with <a
href="http://www.chalearn.org/">ChaLearn</a> and
<a href="https://www.rte-france.com/">RTE</a>. We
have a <a
href="https://competitions.codalab.org/competitions/25426">robustness</a>
and an <a
href="https://competitions.codalab.org/competitions/25427">adaptability</a>
track. This is an <a
href="https://neurips.cc/Conferences/2020/CompetitionTrack">NeurIPS
2020 competition</a>.
</p>

<a href="https://chagrade.lri.fr/"><h3>Chagrade</h3>
<p>
<u>May 2020</u>: We released a
new application to help instructors use challenges in
the classroom and grade them called <a
href="https://chagrade.lri.fr/">Chagrade</a>.
</p>

<a href="https://autodl.chalearn.org/"><h3>AutoDL</h3>
<p>
<u>April 2020:</u> The <a
href="https://nips.cc/Conferences/2019/CallForCompetitions">NeurIPS</a>
AutoDL challenge ended. But the series of challenges
on Automated Deep Learning, in collaboration with <a
href="http://www.chalearn.org/">ChaLearn</a>, <a
href="https://ai.google/research/join-us/zurich/">Google
Zurich</a>, and <a
href="https://www.4paradigm.com/">4Paradigm</a>
continues with <a
href="https://autodl.lri.fr/competitions/149">AutoSeries</a>
and <a href="https://www.automl.ai/competitions/3">AutoGraph</a>.
</p>

<a href="https://codalab.lri.fr/competitions/522"><h3>Data Science Africa 2019</h3></a>
<p>
<u>June 2019:</u> We organized a data science
bootcamp at <a href="https://codalab.lri.fr/competitions/522">Data
Science Africa 2019</a> in the form of a challenge
to detect Malaria parasites in microscope images.
</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://hal.inria.fr/hal-01745714/document"><h3>TrackML</h3></a>
<p>
<u>September 2018:</u>
The <a href="https://www.lal.in2p3.fr/">LAL</a> and <a
href="https://home.cern/">CERN</a> are organizing a challenge to reconstruct
particle trajectories in high energy physics detectors. After the success of the <a
href="https://www.kaggle.com/c/trackml-particle-identification">
first phase with result submission only</a>, a second phase with code submission will be
run on Codalab. TrackML is an officially selected
challenge of the NIPS 2018 conference.
</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://www.4paradigm.com/competition/nips2018"><h3>AutoML3</h3></a>
<p>
<u>August 2018:</u>
Codalab is proud to host the third challenge on Automatic Machine Learning:
<a href="https://competitions.codalab.org/competitions/19836">Lifelong Machine Learning
with drift</a>.
AutoML3 is an officially selected challenge of the NIPS 2018 conference.
</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://web.see4c.eu/"><h3>See.4C</h3></a>
<p><u>February 2018:</u> 2 million Euro Big Data EU prize powered by Codalab.</p>
</div>

<div class="row news-column-bottom-padding">
<a href="http://dataia.eu/index.php?lang=FR&amp;page=kickoff"><h3>DataIA</h3></a>
<p><u>February 2018:</u> Isabelle Guyon presents Codalab at the newly formed Institute of
Convergence DataIA</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://sites.google.com/a/chalearn.org/saclay/"><h3>Student
Projects</h3></a>
<p><u>January 2018:</u> Paris-Saclay master students create challenges for L2 students.</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://codalab.lri.fr/competitions/134?secret_key=669495b4-175b-47fe-9aa4-ce1b50416f14">
<h3>Homework</h3></a>
<p><u>January 2018:</u> Paris-Saclay instructors create reinforcement learning homework.</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://competitions.codalab.org/"><h3>10,000 Users</h3></a>
<p><u>December 2017:</u> Codalab exceeds 10000 users with 480 competitions (145 public)</p>
</div>

<div class="row news-column-bottom-padding">
<a href="http://ciml.chalearn.org/"><h3>CiML workshop</h3></a>
<p>
<u>December 2017:</u> Codalab presented at the Challenges in Machine Learning workshop [<a
href="https://docs.google.com/a/chalearn.org/viewer?a=v&amp;pid=sites&amp;srcid=Y2hhbGVhcm4ub3JnfHdvcmtzaG9wfGd4OjVmY2U0NTk3M2RhYTRlZGY">slides</a>].
</p>
</div>

<div class="row news-column-bottom-padding">
<a href="https://github.com/codalab/codalab-competitions/wiki"><h3>Version 1.5 is out!</h3>
</a>
<p>
<u>November 2017:</u> Explore the new features: scale up your code submission
competition with
your own compute workers (full privacy, dockers); organize RL challenges and hook up
simulators
providing data on demand (with your own "ingestion program"); use the ChaLab wizard to
create
competitions in minutes. Thanks!
</p>
{% for post in news_posts %}
<div class="row news-column-bottom-padding news">
<span class="news-date">{{post.created_when|date:"M d, Y"}}</span>
<div class="news-heading">
{% if post.link %}
<a href="{{post.link}}" target="_blank"><h3>{{post.title}}</h3></a>
{% else %}
<h3 class="news-heading-title">{{post.title}}</h3>
{% endif %}
</div>
<div class="news-body">
{{ post.text | safe }}
</div>
</div>
{% endfor %}
</div>
</div>
</div>
Expand Down