dvl / pyclub

PythonClub
MIT License
1 stars 0 forks source link

Calma aí... WTF?! #1

Open dvl opened 9 years ago

dvl commented 9 years ago

Em vários momento vejo o site atual pythonclub.com.br meio estagnado, as idéias de melhorias são várias, entretanto várias delas esbarram nas limitações de um gerador de páginas estáticas.

A vários meses (mais exatamente desde que o Django 1.7 foi lançado) tenho a vontade de tentar construir um sistema próprio e simplificado para o gerenciamento de conteúdo do blog, penso nas seguintes funcionalidades.

  1. Sistema de login através do GitHub.
  2. A habilidade de qualquer poder postar conteúdo.
  3. Penso também na possibilidade de linkarem conteúdo externo para outros blogs por exemplo.
  4. Todo conteúdo novo seria revisado e necessitária de aprovação antes de ser visível.
  5. O mesmo vale para edições.
  6. Logo todo conteúdo precisaria ser versionado.
  7. Para que a versão atual fique disponível enquanto a nova não entrar no lugar.

Gosto muito da simplicidade do painel de administração do Ghost e da proposta dele "Just a blogging platform", acho que seria uma boa fonte de inspiração.

luzfcb commented 9 years ago

opção para o editor: https://github.com/tibastral/markdownify demo: http://tibastral.github.io/markdownify/

dvl commented 9 years ago

Se der pra chegar ao mesmo efeito com ele...

screenshot - 13-04-2015 - 11 55 05

dvl commented 9 years ago

Mas meu problema é que ainda não estou feliz com o relacionamento post/revisão que pensei, queria algo ao estilo stackoverflow

luzfcb commented 9 years ago

blog com ideia similar, escrito em Django https://github.com/gkmngrgn/radpress

dvl commented 9 years ago

É bem isso que penso pro editor, legal que ele integrou com o admin não sabia como fazer isso.

dvl commented 9 years ago

E acho que parei quando procurava uma forma de versionar as postagens, não consegui chegar em nenhum formato simples.

luzfcb commented 9 years ago

@dvl hum... o problema de versionar as postagens...

Essa semana eu começo um projeto no meu trampo que vai precisar fazer exatamente isso. Algo como faz o google docs quando vc visualiza o histórico de versões e navega entre elas.

Vou acabar testando as varias opções, como o django-reversion, django-simple-history, django-simple-audit ... algo como explicado em http://spapas.github.io/2015/01/21/django-model-auditing/

acho que vou fazer um projeto de teste

dvl commented 9 years ago

Nenhuma dessas soluções chega exatamente aonde quero, vê o stackoverflow por exemplo ele tem um sistema que versiona o texto das perguntas[1], tô pensando ainda numa forma de estruturar alguma coisa assim

[1]; https://stackoverflow.com/posts/26164135/revisions

Em 18 de junho de 2015 09:23, Fábio C. Barrionuevo da Luz < notifications@github.com> escreveu:

@dvl https://github.com/dvl hum... o problema de versionar as postagens...

Essa semana eu começo um projeto no meu trampo que vai precisar fazer exatamente isso. Algo como faz o google docs quando vc visualiza o histórico de versões e navega entre elas.

Vou acabar testando as varias opções, como o django-reversion https://github.com/etianen/django-reversion, django-simple-history https://github.com/treyhunner/django-simple-history, django-simple-audit https://github.com/leandrosouza/django-simple-audit ... algo como explicado em http://spapas.github.io/2015/01/21/django-model-auditing/

acho que vou fazer um projeto de teste

— Reply to this email directly or view it on GitHub https://github.com/dvl/pyclub/issues/1#issuecomment-113136470.

luzfcb commented 9 years ago

Quem sabe no desespero usamos git para versionar, com ajuda de algo como https://github.com/klen/dealer

Em 19 de junho de 2015 16:58, André Luiz notifications@github.com escreveu:

Nenhuma dessas soluções chega exatamente aonde quero, vê o stackoverflow por exemplo ele tem um sistema que versiona o texto das perguntas[1], tô pensando ainda numa forma de estruturar alguma coisa assim

[1]; https://stackoverflow.com/posts/26164135/revisions

Em 18 de junho de 2015 09:23, Fábio C. Barrionuevo da Luz < notifications@github.com> escreveu:

@dvl https://github.com/dvl hum... o problema de versionar as postagens...

Essa semana eu começo um projeto no meu trampo que vai precisar fazer exatamente isso. Algo como faz o google docs quando vc visualiza o histórico de versões e navega entre elas.

Vou acabar testando as varias opções, como o django-reversion https://github.com/etianen/django-reversion, django-simple-history https://github.com/treyhunner/django-simple-history, django-simple-audit https://github.com/leandrosouza/django-simple-audit ... algo como explicado em http://spapas.github.io/2015/01/21/django-model-auditing/

acho que vou fazer um projeto de teste

— Reply to this email directly or view it on GitHub https://github.com/dvl/pyclub/issues/1#issuecomment-113136470.

— Reply to this email directly or view it on GitHub https://github.com/dvl/pyclub/issues/1#issuecomment-113626851.

Fábio C. Barrionuevo da Luz Acadêmico de Sistemas de Informação na Faculdade Católica do Tocantins - FACTO Palmas - Tocantins - Brasil - América do Sul

http://pythonclub.com.br/

Blog colaborativo sobre Python e tecnologias Relacionadas, mantido totalmente no https://github.com/pythonclub/pythonclub.github.io .

Todos são livres para publicar. É só fazer fork, escrever sua postagem e mandar o pull-request. Leia mais sobre como publicar em README.md e contributing.md. Regra básica de postagem: "Você" acha interessante? É útil para "você"? Pode ser utilizado com Python ou é útil para quem usa Python? Está esperando o que? Publica logo, que estou louco para ler...

dvl commented 9 years ago

Pensei em algo como esse cara fez1 a principio, tava meio com pé atrás em repetir dados no banco mas isso não é importante...

Em 19 de junho de 2015 17:13, Fábio C. Barrionuevo da Luz < notifications@github.com> escreveu:

Quem sabe no desespero usamos git para versionar, com ajuda de algo como https://github.com/klen/dealer

Em 19 de junho de 2015 16:58, André Luiz notifications@github.com escreveu:

Nenhuma dessas soluções chega exatamente aonde quero, vê o stackoverflow por exemplo ele tem um sistema que versiona o texto das perguntas1, tô pensando ainda numa forma de estruturar alguma coisa assim

1; https://stackoverflow.com/posts/26164135/revisions

Em 18 de junho de 2015 09:23, Fábio C. Barrionuevo da Luz < notifications@github.com> escreveu:

@dvl https://github.com/dvl hum... o problema de versionar as postagens...

Essa semana eu começo um projeto no meu trampo que vai precisar fazer exatamente isso. Algo como faz o google docs quando vc visualiza o histórico de versões e navega entre elas.

Vou acabar testando as varias opções, como o django-reversion https://github.com/etianen/django-reversion, django-simple-history https://github.com/treyhunner/django-simple-history, django-simple-audit https://github.com/leandrosouza/django-simple-audit ... algo como explicado em http://spapas.github.io/2015/01/21/django-model-auditing/

acho que vou fazer um projeto de teste

— Reply to this email directly or view it on GitHub https://github.com/dvl/pyclub/issues/1#issuecomment-113136470.

— Reply to this email directly or view it on GitHub https://github.com/dvl/pyclub/issues/1#issuecomment-113626851.

Fábio C. Barrionuevo da Luz Acadêmico de Sistemas de Informação na Faculdade Católica do Tocantins - FACTO Palmas - Tocantins - Brasil - América do Sul

http://pythonclub.com.br/

Blog colaborativo sobre Python e tecnologias Relacionadas, mantido totalmente no https://github.com/pythonclub/pythonclub.github.io .

Todos são livres para publicar. É só fazer fork, escrever sua postagem e mandar o pull-request. Leia mais sobre como publicar em README.md e contributing.md. Regra básica de postagem: "Você" acha interessante? É útil para "você"? Pode ser utilizado com Python ou é útil para quem usa Python? Está esperando o que? Publica logo, que estou louco para ler...

— Reply to this email directly or view it on GitHub https://github.com/dvl/pyclub/issues/1#issuecomment-113629787.

dvl commented 9 years ago

Não é bem como eu queria mas é alguma coisa

screenshot - 20-06-2015 - 01 31 24 screenshot - 20-06-2015 - 01 31 36 screenshot - 20-06-2015 - 01 31 47

luzfcb commented 9 years ago

Sobre a parte de versionar, talvez de para pegar algo dessa implementação: https://github.com/django-wiki/django-wiki/blob/master/wiki/models/article.py

dvl commented 9 years ago

Acho que tenho uma ideia que segue quase no mesmo caminho:

De inicio pensei em criar uma relação em post apontando para o texto da ultima revisão, mas é um processo meio chato determinar a ultima revisão, então por hora estou OK em quebrar algumas normalizações e copiar dados.

luzfcb commented 9 years ago

No momento estou fazendo alguns testes com o django-reversion

dvl commented 9 years ago

django-reversion acabando funcionando mais como uma questão de auditoria, ele guarda objetos que já foram editados, quero guardar edições pendentes de aprovação pra um objeto.

dvl commented 9 years ago

Refiz usando o https://github.com/jbt/markdown-editor/ como base, só adicionar um campo pro titulo agora e um botão de salvar em algum lugar

screenshot_2015-06-30_05-33-16

luzfcb commented 9 years ago

@dvl em relação ao versionamento, sobre os meus testes, aparentemente rola de utilizar o https://github.com/treyhunner/django-simple-history.

Eu estou tentando implementar alguns view mixins para facilitar trabalhar com ele... a primeira versão: https://gist.github.com/luzfcb/7fcb0618b5397b7f5a40

luzfcb commented 9 years ago

faltou o docker-compose run web python manage.py migrate nas instruções...

é a primeira vez que uso docker....

luzfcb commented 9 years ago

agora deu

oficina@oficina:~/projetos/pyclub$ docker-compose run web python manage.py collectstatic -l

You have requested to collect static files at the destination
location as specified in your settings:

    /usr/src/app/static-root

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes
Linking '/usr/src/app/pyclub/static/js/post_form.js'
Linking '/usr/src/app/pyclub/static/img/logo_275x130.png'
Linking '/usr/src/app/pyclub/static/css/post_form.css'
Linking '/usr/src/app/pyclub/static/css/dashboard.css'
Linking '/usr/src/app/pyclub/static/css/post_list.css'
Linking '/usr/src/app/pyclub/static/css/app.css'
Traceback (most recent call last):
  File "manage.py", line 12, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.4/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.4/site-packages/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.4/site-packages/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.4/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle
    collected = self.collect()
  File "/usr/local/lib/python3.4/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 98, in collect
    for path, storage in finder.list(self.ignore_patterns):
  File "/usr/local/lib/python3.4/site-packages/django/contrib/staticfiles/finders.py", line 112, in list
    for path in utils.get_files(storage, ignore_patterns):
  File "/usr/local/lib/python3.4/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files
    directories, files = storage.listdir(location)
  File "/usr/local/lib/python3.4/site-packages/django/core/files/storage.py", line 300, in listdir
    for entry in os.listdir(path):
FileNotFoundError: [Errno 2] No such file or directory: '/usr/src/app/bower_components'
dvl commented 9 years ago

Vou tentar dá uma olhada nisso depois, preciso terminar um projeto primeiro.

dvl commented 9 years ago

Esqueci de adicionar as dependências do node nesse container, a maneira mais facil de resolver seria rodar o bower install (npm install -g bower primeiro) na pasta do projeto direto na sua maquina local, mas eu tenho um Dockerfile que faz isso automaticamente igual ao pip vou tentar atualizar depois.

dvl commented 9 years ago

O bower é só pra baixar os arquivos estáticos, como jquery, foundation, etc... sem a necessidade de distribuir isso junto do codebase do projeto.