วันพุธที่ 24 กุมภาพันธ์ พ.ศ. 2559
Adviser meeting 25/02/2559
สิ่งที่ดำเนินการไปแล้ว
1.แก้ไข Scope description by use case : http://anounceprojectcpre55.blogspot.com/2016/02/scope-description-by-use-case.html
2.ศึกษาและทดลองออกแบบ EER diagram ด้วยโปรแกรม MySQL workbench แต่ยังไม่เสร็จเนื่องจากยังสับสนกับการจัดความสัมพันธ์อยู่
ปัญหาที่พบ
1.ทำการทดลอง Remote เข้า Raspberry pi2 ด้วยโปรแกรม Xming ไม่ได้ พบปัญหาที่ยังแก้ไขไม่ได้ จะทดลองเปลี่ยนเวอร์ชั่น OS เป็น wheezie
2.ยังคงไม่สามารถลง Chromium บน Raspberry pi2 ได้
3.ปัญหาการทดลองอัพแอพขึ้นเซิฟเวอร์ของรุ่นพี่
2.ยังคงไม่สามารถลง Chromium บน Raspberry pi2 ได้
3.ปัญหาการทดลองอัพแอพขึ้นเซิฟเวอร์ของรุ่นพี่
สิ่งที่จะดำเนินการต่อ
1. ยกเลิกตัวอักษรวิ่ง เปลี่ยนเป็นการแสดงผลนิ่งๆ
2. usecase search ถ้ามีเวลาทำ
3. เขียนผลการ deploy ขึ้น docker app ที่ใช้ทั้ง django cms และ django app
4. สรุปสิ่งที่ดำเนินการไปแล้วประจำเดือนตั้งแต่ปีใหม่
5. video 15 นาที รายงานความคืบหน้าโปรเจ็ค
6. ให้ข้อมูลแสดงเวลาประกาศและหน้าจอที่จะประกาศอยู่ในข้อมูลของประกาศ
7. หา module ที่สร้างเอง
8. message กำหนดเวลาแสดงได้
9. ติดต่อพี่เพื่อหาวิธี deploy app
1. ยกเลิกตัวอักษรวิ่ง เปลี่ยนเป็นการแสดงผลนิ่งๆ
2. usecase search ถ้ามีเวลาทำ
3. เขียนผลการ deploy ขึ้น docker app ที่ใช้ทั้ง django cms และ django app
4. สรุปสิ่งที่ดำเนินการไปแล้วประจำเดือนตั้งแต่ปีใหม่
5. video 15 นาที รายงานความคืบหน้าโปรเจ็ค
6. ให้ข้อมูลแสดงเวลาประกาศและหน้าจอที่จะประกาศอยู่ในข้อมูลของประกาศ
7. หา module ที่สร้างเอง
8. message กำหนดเวลาแสดงได้
9. ติดต่อพี่เพื่อหาวิธี deploy app
module ที่ใช้สำหรับโปรเจ็ค
แบ่งตาม user
admin
1. login( ) ใช้พิสูจน์ตัวตนของ admin
2. สร้างประกาศประเภทต่าง ได้แก่ text, pdf, video, รูปภาพ และ message แบ่งเป็นฟังก์ชันย่อย ดังนี้
2.1 create_text( ) สร้างข้อความประกาศเป็น text
2.2 create_message สร้างข้อความสำหรับแสดงบนหน้าจอในแถบ message
2.3 upload_announce( ) อัพโหลดไฟล์ประกาศ ได้แก่ pdf, รูปภาพ และ video
3. แก้ไขเนื้อหาประกาศ
3.1 edit_text( ) แก้ไข text
3.2 edit_message( ) แก้ไขข้อความในแถบ message
4. delete_announce( ) ลบประกาศออกจากฐานข้อมูล
5. setting_announce( ) ตั้งค่าเวลาเริ่มต้น เวลาหยุดแสดงของประกาศ กำหนดหน้าจอที่จะแสดง
อาจารย์ นักศึกษา
1. login( ) พิสูจน์ตัวตนของอาจารย์หรือนักศึกษา
2. create_message( ) สร้างข้อความสำหรับแสดงบนหน้าจอในแถบ message
วันพุธที่ 17 กุมภาพันธ์ พ.ศ. 2559
Adviser meeting 18/02/2559
สิ่งที่ดำเนินการไปแล้ว
1. ศึกษาเรื่อง Extending toolbar
2. ศึกษาเรื่อง Extending the navigation menu
3. ศึกษาเรื่อง Namespaced Apphooks
4. หาความเร็วอักษรวิ่งภาษาไทย รายละเอียดดูได้จาก http://anounceprojectcpre55.blogspot.com/2016/02/blog-post.html
5. แก้ไขรายละเอียด usecase ดูได้จาก http://anounceprojectcpre55.blogspot.com/2016/02/scope-description-by-use-case.html
6. ทดลองติดตั้ง chromium บน Raspberry pi2
ปัญหาที่พบ
1.หลังจากติดตั้ง chromium แล้วเข้าหน้า desktop ของ raspberry pi ไม่ได้ รายละเอียดดูได้จาก http://anounceprojectcpre55.blogspot.com/2016/02/video-steamming-2.html
สิ่งที่จะดำเนินการต่อ
1. จำกัดความยาวการแสดงผล ไม่ใช้ตัวอักษรวิ่ง
2. usecase ตัดคำว่าสามารถ ระบุเป็นข้อๆเน้นให้เห็นภาพ ระบุขั้นตอน
3. usecase search ถ้ามีเวลาทำ
4. แก้ไข diagram ใส่ browser ให้ดูเข้าใจ ใส่จุดให้สื่อมามีหลายหน้าจอ
1. จำกัดความยาวการแสดงผล ไม่ใช้ตัวอักษรวิ่ง
2. usecase ตัดคำว่าสามารถ ระบุเป็นข้อๆเน้นให้เห็นภาพ ระบุขั้นตอน
3. usecase search ถ้ามีเวลาทำ
4. แก้ไข diagram ใส่ browser ให้ดูเข้าใจ ใส่จุดให้สื่อมามีหลายหน้าจอ
วันอังคารที่ 16 กุมภาพันธ์ พ.ศ. 2559
การทดลอง video steamming #2
เราทำการติดตั้ง Raspbian jessie เป็นระบบปฏิบัติการบน Raspberry pi2 จากนั้นก็ทดลองติดตั้ง chromium browser ตามวิธีจากเว็บ http://conoroneill.net/running-the-latest-chromium-45-on-debian-jessie-on-your-raspberry-pi-2/ แต่ติดปัญหาคือหลังจากติดตั้งไปแล้ว ทำการรีบูต Raspberry pi จากนั้นก็ไม่สามารถเข้าหน้า desktop ของ Raspbian ได้อีกเลย ทดลองรีบูตใหม่ก็ยังไม่สามารถเข้าหน้า desktop ได้ วิธีแก้ปัญหาเบื้องต้นคือทำการลงระบบปฏิบัติการใหม่ เหตุผลที่เราต้องหาวิธีลง chromium browser ใหม่จากเว็บดังกล่าวเพราะว่าหลังจากใช้คำสั่ง sudo apt-get update แล้วตามด้วยคำสั่ง sudo apt-get install chromium-browser แล้วก็ยังไม่สามารถติดตั้งได้ คิดว่าหลังจากลง Raspbian ใหม่แล้วจะหาวิธีการใหม่มาติดตั้ง chromium browserวันจันทร์ที่ 15 กุมภาพันธ์ พ.ศ. 2559
django cms #8 Namesapced Apphooks
คือการตั้งค่า Namespace สำหรับ Apphook โดยที่เราใช้หลาย instant ที่ใช้งาน app เดียวกันในคนละ page กัน หลักการคือเราทำงานอยู่ใน page ไหน การตั้งค่าต่างๆก็จะมีผลกับ page นั้น เช่น เราเขียนกระดาษแผ่นหนึ่งเราเขียนด้านหน้ากับเขียนด้านหลังมันก็จะมีเฉพาะกับด้านนั้นๆโดยที่เป็นกระดาษแผ่นเดียวกัน ไม่ใช่ว่าเราเขียนกระดาษด้านหน้าแล้วจะไปมีผลกับด้านหลังขั้นตอนการสร้างเป็นดังนี้
สร้าง app โดยใช้คำสั่ง python manage.py startapp faq
เข้าไปในไดเรกทอรี fag สร้างไฟล์ models.py ดังนี้
from aldryn_apphooks_config.fields import AppHookConfigField from aldryn_apphooks_config.managers import AppHookConfigManager from django.db import models from faq.cms_appconfig import FaqConfig class Entry(models.Model): app_config = AppHookConfigField(FaqConfig) question = models.TextField(blank=True, default='') answer = models.TextField() objects = AppHookConfigManager() def __unicode__(self): return self.question class Meta: verbose_name_plural = 'entries'
ในไดเรกทอรีเดิม สร้างไฟล์ cms_appcinfig.py ดังนี้
from aldryn_apphooks_config.models import AppHookConfig from aldryn_apphooks_config.utils import setup_config from app_data import AppDataForm from django.db import models from django import forms from django.utils.translation import ugettext_lazy as _ class FaqConfig(AppHookConfig): paginate_by = models.PositiveIntegerField( _('Paginate size'), blank=False, default=5, ) class FaqConfigForm(AppDataForm): title = forms.CharField() setup_config(FaqConfigForm, FaqConfig)
เข้าไปใน admin.py แล้วแก้ไขโค้ดเป็นดังนี้
from django.contrib import admin from .cms_appconfig import FaqConfig from .models import Entry from aldryn_apphooks_config.admin import ModelAppHookConfig, BaseAppHookConfig class EntryAdmin(ModelAppHookConfig, admin.ModelAdmin): list_display = ( 'question', 'answer', 'app_config', ) list_filter = ( 'app_config', ) admin.site.register(Entry, EntryAdmin) class FaqConfigAdmin(BaseAppHookConfig, admin.ModelAdmin): def get_config_fields(self): return ( 'paginate_by', 'config.title', ) admin.site.register(FaqConfig, FaqConfigAdmin)
สร้างไฟล์ cms_apps.py
from aldryn_apphooks_config.app_base import CMSConfigApp from cms.apphook_pool import apphook_pool from django.utils.translation import ugettext_lazy as _ from .cms_appconfig import FaqConfig class FaqApp(CMSConfigApp): name = _("Faq App") urls = ["faq.urls"] app_name = "faq" app_config = FaqConfig apphook_pool.register(FaqApp)
แก้ไขไฟล์ views.py ดังนี้
from aldryn_apphooks_config.mixins import AppConfigMixin from django.views import generic from .models import Entry class IndexView(AppConfigMixin, generic.ListView): model = Entry template_name = 'faq/index.html' def get_queryset(self): qs = super(IndexView, self).get_queryset() return qs.namespace(self.namespace) def get_paginate_by(self, queryset): try: return self.config.paginate_by except AttributeError: return 10
สร้างไดเรกทอรี templates/faq แล้วสร้างไฟล์ index.html ดังนี้
{% extends 'base.html' %} {% block content %} <h1>{{ view.config.title }}</h1> <p>Namespace: {{ view.namespace }}</p> <dl> {% for entry in object_list %} <dt>{{ entry.question }}</dt> <dd>{{ entry.answer }}</dd> {% endfor %} </dl> {% if is_paginated %} <div class="pagination"> <span class="step-links"> {% if page_obj.has_previous %} <a href="?page={{ page_obj.previous_page_number }}">previous</a> {% else %} previous {% endif %} <span class="current"> Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}. </span> {% if page_obj.has_next %} <a href="?page={{ page_obj.next_page_number }}">next</a> {% else %} next {% endif %} </span> </div> {% endif %} {% endblock %}
สร้างไฟล์ urls.py ดังนี้
from django.conf.urls import patterns, url from . import views urlpatterns = patterns('', url(r'^$', views.IndexView.as_view(), name='index'), )
เพิ่ม faq ใน INSTALLED_APPS แล้วใช้คำสั่ง
python manage.py makemigrations faq
python manage.py migrate faq
ทดลองสร้าง page 2 หน้าแล้วตั้งค่า namespace ที่แตกต่างกัน (อย่าลืม publish page ด้วย)ได้ผลดังนี้
เข้า Advanced setting เลือกใช้ faq app แล้วกดเพิ่ม Namesapce (กดเครื่องหมาย +) แล้วใส่ค่าที่ต้องการลงไป
ค่า INSTANCE NAMESPACE และ TITLE ที่เราเขียนไว้ จะปรากฏขึ้นมา
วันอาทิตย์ที่ 14 กุมภาพันธ์ พ.ศ. 2559
django cms #7 Extending the nevigation menu
เราจะสร้าง menu สำหรับแสดงรายชื่อทุก poll โดยแต่ละชื่อของแต่ละ polls จะนำทางไปยัง poll นั้นๆด้วย มีวิธีการสร้าง ดังนี้สร้างไฟล์ cms_menus.py ในไดเรกทอรี poll-plugin แล้วเขียนโค้ด ดังนี้
from django.core.urlresolvers import reverse from django.utils.translation import ugettext_lazy as _ from cms.menu_bases import CMSAttachMenu from menus.base import NavigationNode from menus.menu_pool import menu_pool from polls.models import Poll class PollsMenu(CMSAttachMenu): name = _("Polls Menu") # give the menu a name this is required. def get_nodes(self, request): """ This method is used to build the menu tree. """ nodes = [] for poll in Poll.objects.all(): node = NavigationNode( title=poll.question, url=reverse('polls:detail', args=(poll.pk,)), id=poll.pk, # unique id for this node within the menu ) nodes.append(node) return nodes menu_pool.register_menu(PollsMenu)
อธิบายโค้ดแต่ละส่วน
สร้าง class PollsMenu แล้ว register ให้ใช้งาน
กำหนดชื่อ Polls Menu ไว้ถูกเรียกใช้
ใน get_nodes() ทำการเข้าถึงทุก poll แล้วนำมาแสดงใน menu
ถึงขั้นนี้ทำการเปิดไฟล์ cms_apps.py แล้วเพิ่มโค้ด
from polls_plugin.cms_menus import PollsMenu
ในส่วนบนของโค้ดและเพิ่ม
menus = [PollsMenu]
ใน class PollsApphook
ทดลอง runserver จะพบว่ามี list ของ poll ขึ้นมาให้เราเลือก
django cms #6 Extending toolbar
toolbar คือแถบเครื่องมือสำหรับใช้งานใน django cms ที่เราจะเห็นก็ต่อเมื่อเราเพิ่มคำว่า ?edit ต่อท้าย url ที่ให้เรา login ก่อนจึงจะใช้งานได้ ในบทนี้เราจะทำการสร้าง extending toolbar คือสร้าง toolbar ขึ้นมาใช้งานเอง โดยเราจะสร้างให้ใช้งานสำหรับ polls appให้เราสร้างไฟล์ cms_toolbars.py ในไดเรกทอรี polls_plugin แล้วเขียนโค้ด ดังนี้
from django.utils.translation import ugettext_lazy as _ from cms.toolbar_pool import toolbar_pool from cms.toolbar_base import CMSToolbar from cms.utils.urlutils import admin_reverse from polls.models import Poll @toolbar_pool.register class PollToolbar(CMSToolbar): supported_apps = ( 'polls', 'polls_plugin', ) watch_models = [Poll,] def populate(self): if not self.is_current_app: return menu = self.toolbar.get_or_create_menu('poll-app', _('Polls')) menu.add_sideframe_item( name=_('Poll list'), url=admin_reverse('polls_poll_changelist'), ) menu.add_modal_item( name=_('Add new poll'), url=admin_reverse('polls_poll_add'), )
อธิบายโค้ดแต่ละส่วน
มีการอ้างถึง CMSToolbar subclass
ให้ใช้งานด้วยคำสั่ง @toolbar_pool_register
ให้ populate เป็น method สำหรับเพิ่ม item ลงไปใน menu
supported_apps ใส่ชื่อ apps ที่ใช้งาน toolbar นี้
watch_models ใส่ model ของ app
การทำงานของ populate() เริ่มต้นจะตรวจสอบก่อนว่า user อยู่นหน้าที่ support กับ toolbar นี้หรือไม่ จากนั้นค่อยสร้าง menu ของ toolbar นี้ ในที่นี้สร้าง sideframe ชื่อ Poll list สำหรับดู list polls และ modal ชื่อ Add new poll สำหรับสร้าง poll ใหม่
ทดลอง run server ใหม่แล้วสังเกตผล
ทดลองใช้ url polls จะเห็น menu Polls ปรากฏใน toolbar
ทดลองเข้าหน้า Poll page ก็ใช้งานได้ เช่นกัน
ลองดูจะเห็นมามีคำสั่ง Poll list กับ Add new poll
ทดลองเลือก Poll list จะแสดงหน้า list ของ poll ที่เราสร้าง แต่ถ้าเลือก Add new poll จะมีหน้าต่างขึ้นมาให้เราสร้าง poll ใหม่
วันพุธที่ 10 กุมภาพันธ์ พ.ศ. 2559
สรุปสิ่งที่ดำเนินการไปแล้ว 10/2/2559
1.ศึกษาเรื่อง apphooks2.ศึกษาเรื่อง Integration a third-party application
3. ทดลอง video streamming
4. ทดลอง deploy app ขึ้น Docker-app แต่ยังไม่สำเร็จ
5. ซื้อ SD card สำหรับใช้ทดลองใน Raspberry pi
6. ออกแบบ diagram ของโปรเจ็ค
7. เพิ่มรายละเอียด usecase
Scope description by use case
แบ่ง Scope ออกตาม use case ดังนี้
1.Administrator
- ตรวจสอบข้อมูลย้อนหลัง
1.เข้า URL สำหรับแสดงข้อมูลย้อนหลัง จะมีการแสดงข้อมูลข่าวสารและหมวดหมู่ข้อมูลข่าวสาร
2.เลือกหมวดหมู่ข้อมูลข่าวสารที่ต้องการเพื่อกรองการแสดงข้อมูลข่าวสารให้เหลือเพียงหมวดหมู่ข่าวสารที่สนใจ โดยการคลิกที่ชื่อหมวดหมู่
3.คลิกหัวข้อข่าวสารที่ต้องการตรวจสอบรายละเอียดเพิ่มเติม จะเกิดการ Link ไปยังหน้าแสดงรายละเอียดของข้อมูลข่าวสารนั้นๆ
- ล๊อคอิน
1.กรอกข้อมูล ID, PASSWORD ที่มุมขวาบนของ webpage
2.ทำการกดปุ่ม submit
- ตรวจสอบการอัพโหลดข่าวสารเพื่อนำไปจัดลำดับการแสดงบน monitor
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการข้อมูล ในหน้าหลักของ web
3.คลิกที่เมนู ตรวจสอบการอัพโหลดข้อมูลการแสดงผลบน monitor จะทำการเข้าไปในหน้าแสดงข้อมูลที่ user กลุ่มอื่นทำการอัพโหลดขึ้นมา
4.ทำการคลิกที่หัวข้อ ข้อมูลที่ต้องการตรวจสอบ จะทำการเข้าไปยังหน้าแสดงรายละเอียดของข้อมูลที่ทำการเลือก
5.แก้ไขข้อมูลบาง field ได้ เพื่อความเหมาะ เช่น เวลาการแสดงผล หรือรายละเอียดบางอย่าง
6.ทำการเลือกว่าจะอนุมัติให้นำไปแสดงผลบน monitor โดยการคลิกที่ปุ่ม อนุมัติหรือไม่อนุมัติก็ให้ทำการคลิกที่ปุ่ม cancel เพื่อยกเลิกการตรวจสอบแล้วกลับไปหน้าเลือกหัวข้อ
หรือทำการลบได้ด้วยการคลิกที่ปุ่ม delete ก็จะทำการลบข้อมูลที่ตรวจสอบอยู่ออกไป และทำการกลับไปหน้าเลือกหัวข้อ
- ตรวจสอบข้อมูลตัวอักษรนิ่งที่มีการร้องขอเข้ามา เพื่อให้แสดงที่ด้านล่างของ monitor
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการข้อมูล ในหน้าหลักของ web
3.คลิกที่เมนู ตรวจสอบข้อมูลตัวอักษรนิ่ง จะทำการเข้าไปในหน้าแสดงข้อมูลที่ user กลุ่มอื่นทำการ submit เข้ามา
4.ทำการคลิกที่หัวข้อ ข้อมูลที่ต้องการตรวจสอบ จะทำการเข้าไปยังหน้าแสดงรายละเอียดของข้อมูลที่ทำการเลือก
5.แก้ไขข้อมูลตัวอักษร และ เวลาการแสดงผล ได้ ด้วยการกรอกข้อมูลใหม่ เพื่อความเหมาะสม
6.ทำการเลือกว่าจะอนุมัติให้นำไปแสดงผลบน monitor โดยการคลิกที่ปุ่ม อนุมัติ
หรือไม่อนุมัติก็ให้ทำการคลิกที่ปุ่ม cancel เพื่อยกเลิกการตรวจสอบแล้วกลับไปหน้าเลือกหัวข้อ
หรือทำการลบได้ด้วยการคลิกที่ปุ่ม delete ก็จะทำการลบข้อมูลที่ตรวจสอบอยู่ออกไป และทำการกลับไปหน้าเลือกหัวข้อ
- แก้ไขลำดับเวลาการแสดงผล
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการข้อมูล ในหน้าหลักของ web
3.คลิกที่เมนู จัดการข้อมูลการแสดงผลบน monitor จะทำการเข้าไปในหน้าแสดงข้อมูลเป็นตาราง ซึ่งทำการแสดงข้อมูลที่แสดงในช่วงเวลาต่างๆ
4.คลิกที่ ปุ่มแก้ไขรายละเอียด ที่ข้อมูลที่ต้องการแก้ไขเวลาการแสดง แล้วจะทำการเข้าไปยังหน้าสำหรับการแก้ไขรายละเอียด
5.เลือกเวลาใหม่ซึ่งจะเป็น field ที่ทำการคลิกแล้วจะมี เวลา/วัน/เดือน/ปี ขึ้นมาให้เลือก
6.กดปุ่ม submit เพื่อยืนยันการเปลี่ยนแปลง หลังจากกดแล้วจะทำการกลับไปยังหน้าแสดงข้อมูลเป็นตาราง
- ลบข้อมูล
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการข้อมูล ในหน้าหลักของ web
3.คลิกที่เมนู จัดการข้อมูลการแสดงผลบน monitor จะทำการเข้าไปในหน้าแสดงข้อมูลเป็นตาราง ซึ่งทำการแสดงข้อมูลที่แสดงในช่วงเวลาต่างๆ
หลังจากนั้นมี 2 วิธี
1.คลิกที่ปุ่ม ลบข้อมูล ที่ข้อมูลที่ต้องการทำการลบ
2.1.คลิกที่ปุ่มแก้ไขรายละเอียด ที่ข้อมูลที่ต้องการทำการลบ แล้วจะทำการเข้าไปยังหน้าสำหรับการแก้ไขรายละเอียด
2.2.คลิกที่ปุ่ม ลบข้อมูล
- เพิ่มข้อมูล file เอกสารต่างๆ picutre(jpg png), pdf, video
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการข้อมูล ในหน้าหลักของ web
3.คลิกที่เมนู จัดการข้อมูลการแสดงผลบน monitor จะทำการเข้าไปในหน้าแสดงข้อมูลเป็นตาราง ซึ่งทำการแสดงข้อมูลที่แสดงในช่วงเวลาต่างๆ
4.คลิกที่เมนู เพิ่มเอกสาร ซึ่งเมนูนี้จะอยู่นอกตารางแสดงผล หลังจากคลิกแล้วจะไปยังหน้าการเพิ่มเอกสาร ซึ่งมีรายละเอียดต่างๆให้กรอก
5.browse เอกสารที่ต้องการอัพโหลดขึ้น server เพื่อนำไปประกาศ / หรือทำการคลิกที่ปุ่มสร้างเอกสาร เพื่อสร้างเอกสารด้วยฟีเจอร์ของเว็บ แล้วจะทำการเข้าไปยังหน้าสำหรับการสร้างเอกสาร
5.1.เมื่อทำการสร้างเอกสารเสร็จแล้วทำการกด submit เพื่อกลับมายังหน้าการกรอกรายละเอียดของข้อมูล
6.กรอกรายละเอียดเพิ่มเติมสำหรับเอกสารหรือข้อมูล ที่ทำการอัพโหลด
7.เลือกเวลาที่ต้องการแสดงข้อมูล ซึ่งจะเป็น field ที่ทำการคลิกแล้วจะมี เวลา/วัน/เดือน/ปี ขึ้นมาให้เลือก
8.เลือกหมวดหมู่ของข้อมูลโดยการติ๊กหมวดหมู่ที่ตรงกับข้อมูลที่อัพโหลดโดยจะเป็น checkbox
9.กดปุ่ม submit
- เพิ่มข้อมูลตัวอักษรนิ่ง
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการข้อมูล ในหน้าหลักของ web
3.คลิกที่เมนู จัดการข้อมูลการแสดงผลบน monitor จะทำการเข้าไปในหน้าแสดงข้อมูลเป็นตาราง ซึ่งทำการแสดงข้อมูลที่แสดงในช่วงเวลาต่างๆ
4.คลิกที่เมนู เพิ่มตัวอักษรนิ่ง ซึ่งเมนูนี้จะอยู่นอกตารางแสดงผล หลังจากคลิกแล้วจะไปยังหน้าการเพิ่มข้อมูล ซึ่งมีรายละเอียดต่างๆให้กรอก
5.กรอกข้อมูล ที่ต้องการนำไปแสดงผลในส่วนล่างของหน้าจอ monitor
6.เลือกเวลาที่ต้องการแสดงข้อมูล ซึ่งจะเป็น field ที่ทำการคลิกแล้วจะมี เวลา/วัน/เดือน/ปี ขึ้นมาให้เลือก
7.เลือกหมวดหมู่ของข้อมูลโดยการติ๊กหมวดหมู่ที่ตรงกับข้อมูลที่อัพโหลดโดยจะเป็น checkbox
8.กดปุ่ม submit
- สั่งปิด/เปิดเสียงของ monitor ผ่านทาง web browser ได้
1.ทำการล๊อคอิน
2.คลิกที่เมนู การจัดการ monitor ในหน้าหลักของ web จะทำการเข้าไปหน้าที่มี monitor ให้เลือก
3.คลิกที่ปุ่มเปิด/ปิดเสียง ใต้monitor ที่ต้องการเปิด/ปิดเสียง
2.Teacher
- ตรวจสอบข้อมูลย้อนหลัง
1.เข้า URL สำหรับแสดงข้อมูลย้อนหลัง จะมีการแสดงข้อมูลข่าวสารและหมวดหมู่ข้อมูลข่าวสาร
2.เลือกหมวดหมู่ข้อมูลข่าวสารที่ต้องการเพื่อกรองการแสดงข้อมูลข่าวสารให้เหลือเพียงหมวดหมู่ข่าวสารที่สนใจ โดยการคลิกที่ชื่อหมวดหมู่
3.คลิกหัวข้อข่าวสารที่ต้องการตรวจสอบรายละเอียดเพิ่มเติม จะเกิดการ Link ไปยังหน้าแสดงรายละเอียดของข้อมูลข่าวสารนั้นๆ
- ล๊อคอิน
1.กรอกข้อมูล ID, PASSWORD ที่มุมขวาบนของ webpage
2.ทำการกดปุ่ม submit
- อัพข้อมูลข่าวสารขึ้น server เพื่อนำไปให้ Admin ตรวจสอบก่อนการนำไปแสดงบน monitor
1.ทำการล๊อคอิน
2.คลิกที่เมนู อัพโหลดเอกสาร ในหน้าหลักของ web หลังจากคลิกแล้วจะไปยังหน้าการอัพโหลดเอกสาร ซึ่งมีรายละเอียดต่างๆให้กรอก
3.browse เอกสารที่ต้องการอัพโหลดขึ้น server เพื่อนำไปประกาศ / หรือทำการคลิกที่ปุ่มสร้างเอกสาร เพื่อสร้างเอกสารด้วยฟีเจอร์ของเว็บ แล้วจะทำการเข้าไปยังหน้าสำหรับการสร้างเอกสาร
3.1.เมื่อทำการสร้างเอกสารเสร็จแล้วทำการกด submit เพื่อกลับมายังหน้าการกรอกรายละเอียดของข้อมูล
4.กรอกรายละเอียดเพิ่มเติมสำหรับเอกสารหรือข้อมูล ที่ทำการอัพโหลด
5.เลือกเวลาที่ต้องการแสดงข้อมูล ซึ่งจะเป็น field ที่ทำการคลิกแล้วจะมี เวลา/วัน/เดือน/ปี ขึ้นมาให้เลือก
6.เลือกหมวดหมู่ของข้อมูลโดยการติ๊กหมวดหมู่ที่ตรงกับข้อมูลที่อัพโหลดโดยจะเป็น checkbox
7.กดปุ่ม submit
ข้อมูลจะไปอยู่บน server รอการอนุมัติข้อง admin
- อัพข้อมูลการขอแสดงข้อมูลตัวอักษรนิ่ง
1.ทำการล๊อคอิน
2.คลิกที่เมนู อัพโหลดข้อมูลตัวอักษรนิ่ง ในหน้าหลักของ web หลังจากคลิกแล้วจะไปยังหน้าการเพิ่มข้อมูล ซึ่งมีรายละเอียดต่างๆให้กรอก
3.กรอกข้อมูล ที่ต้องการนำไปแสดงผลในส่วนล่างของหน้าจอ monitor
4.เลือกเวลาที่ต้องการแสดงข้อมูล ซึ่งจะเป็น field ที่ทำการคลิกแล้วจะมี เวลา/วัน/เดือน/ปี ขึ้นมาให้เลือก
5.เลือกหมวดหมู่ของข้อมูลโดยการติ๊กหมวดหมู่ที่ตรงกับข้อมูลที่อัพโหลดโดยจะเป็น checkbox
6.กดปุ่ม submit
ข้อมูลจะไปอยู่บน server รอการอนุมัติข้อง admin
3.Student
- ตรวจสอบข้อมูลย้อนหลัง
1.เข้า URL สำหรับแสดงข้อมูลย้อนหลัง จะมีการแสดงข้อมูลข่าวสารและหมวดหมู่ข้อมูลข่าวสาร
2.เลือกหมวดหมู่ข้อมูลข่าวสารที่ต้องการเพื่อกรองการแสดงข้อมูลข่าวสารให้เหลือเพียงหมวดหมู่ข่าวสารที่สนใจ โดยการคลิกที่ชื่อหมวดหมู่
3.คลิกหัวข้อข่าวสารที่ต้องการตรวจสอบรายละเอียดเพิ่มเติม จะเกิดการ Link ไปยังหน้าแสดงรายละเอียดของข้อมูลข่าวสารนั้นๆ
- ล๊อคอิน
1.กรอกข้อมูล ID, PASSWORD ที่มุมขวาบนของ webpage
2.ทำการกดปุ่ม submit
- อัพข้อมูลการขอแสดงข้อมูลตัวอักษรนิ่ง
1.ทำการล๊อคอิน
2.คลิกที่เมนู อัพโหลดข้อมูลตัวอักษรนิ่ง ในหน้าหลักของ web หลังจากคลิกแล้วจะไปยังหน้าการเพิ่มข้อมูล ซึ่งมีรายละเอียดต่างๆให้กรอก
3.กรอกข้อมูล ที่ต้องการนำไปแสดงผลในส่วนล่างของหน้าจอ monitor
4.เลือกเวลาที่ต้องการแสดงข้อมูล ซึ่งจะเป็น field ที่ทำการคลิกแล้วจะมี เวลา/วัน/เดือน/ปี ขึ้นมาให้เลือก
5.เลือกหมวดหมู่ของข้อมูลโดยการติ๊กหมวดหมู่ที่ตรงกับข้อมูลที่อัพโหลดโดยจะเป็น checkbox
6.กดปุ่ม submit
ข้อมูลจะไปอยู่บน server รอการอนุมัติข้อง admin
โดย priority ของการร้องขอของ Teacher จะสำคัญกว่าของ Student
ตัวอย่างการตรวจสอบข้อมูลข่าวสาร โดยการแยกประเภทของข้อมูล
http://news.playpark.com/th/index/all/promotion/11
กรณีของบุคคลภายนอก หากต้องการเพิ่มข้อมูล จำเป็นต้องติดต่อกับทางเจ้าหน้าที่ที่เกี่ยวข้องเอง
Adviser meeting 11/02/2559
คำถาม1. ใช้วิธีอัพเดต web browser ให้ support html5 แก้ปัญหา flash ใน video streaming ได้หรือไม่ หรือมีวิธีอื่นที่ดีกว่า
2. diagram มีส่วนไหนไม่ชัดเจนหรือไม่ ถ้าไม่ชัดเจนส่วนไหนไม่ชัดเจนหรือไม่สื่อความหมาย
สิ่งที่ดำเนินการไปแล้ว
1. แก้ไข diagram ดังนี้
4. เพิ่มรายละเอียด scope งานของแต่ละ usecase ตรวจสอบได้จากลิงค์ด้านล่าง
http://anounceprojectcpre55.blogspot.com/2016/02/scope-description-by-use-case.html
5. หาข้อมูลความเร็วของตัวอักษรวิ่ง ได้ผลสรุปว่าคนทั่วไปอ่านได้ 40 ตัวอักษรต่อวินาที
สิ่งที่จะดำเนินการต่อ
1. ใส่ข้อมูล video ที่ทดลอง ใส่ที่อยู่ video ที่ใช้อ้างอิง
2. แก้ไขผลการ steaming video
3. ลองจับเวลาอักษรวิ่งจากรายการโทรทัศน์ที่เค้าใช้จริง
4. แก้ไข diagram แยกส่วน user กับ ระบบโดยรวม ลบตาดูกับข้อมูลประกาศ แก้ไขเป็น Raspberry pi ต่อกับหน้าจอหลายๆชุด และมี device ที่ต่อกับ internet ได้
5. แก้ไข scope ตาม usecase ใส่รายละเอียดขั้นตอนการทำงานเพิ่ม เช่น การเพิ่มข้อมูลข่าวสาร ต้องทำการกรอกอะไรบ้างหลังจากกรอกแล้วต้องกดอะไรบ้าง
6. ทดลอง video ความละเอียด hd ไปก่อน
7. ทดลองทั้งแบบสายแลนกับแบบ wifi
วันจันทร์ที่ 8 กุมภาพันธ์ พ.ศ. 2559
ความสัมพันธ์การอ่านของมนุษย์กับความเร็วตัวอักษรวิ่งบนหน้าจอ
มีงานวิจัยเกี่ยวกับการตอบสนองข้อมูลบนหน้าจอ อักษรวิ่ง โดยใช้การบันทึกการเคลื่อนไหวของม่านตาในการเพิ่ง ทดลองโดยการจับการเคลื่อนไหวของดวงตาตอนที่กำลังอ่านตัวอักษรบนหน้าจอ ได้ผลสรุปออกมาว่าความเร็วเฉลี่ยในการอ่านของบุคคลทั่วไปคือ 40 ตัวอักษรต่อ 1 วินาทีอ้างอิงจาก https://docs.google.com/viewer?url=patentimages.storage.googleapis.com/pdfs/US6577329.pdf
แต่การทดลองจากงานวิจัยดังกล่าวเป็นอักษรภาษาอังกฤษเราเลยใช้วีดิโอตัวอย่างจาก youtube เป็นข่าวมาสังเกตตัวอักษรภาษาไทยที่วิ่งแล้วนับจำนวนตัวอักษรมาหารด้วยเวลา สรุปได้ผลคือ
78 ตัวอักษร หาร 8 วินาที ได้ความเร็วของอักษรวิงคือ 9.75 ตัวอักษรต่อวินาทีหรือประมาณ 10 ตัวอักษรต่อวินาที
วีดิโออ้างอิงจาก https://www.youtube.com/watch?v=LAAMQmKIHDk
วันพุธที่ 3 กุมภาพันธ์ พ.ศ. 2559
การทดลอง video steamming
ในขั้นแรกทดลองโดยการเตรียมโปรเจ็คที่มี video ไว้สำหรับทดลอง จากนั้นใช้คอมพิวเตอร์ของเราเปิด VM VirtualBox แล้วรัน server ในนั้น โดยกำหนดค่าการเชื่อมต่อเป็น brigde network ทำให้เสมือนว่าคอมพิวเตอร์เรากับ VM VirtualBox เป็นคอมพิวเตอร์คนละเครื่องที่กำลังเชื่อมต่อกันอยู่ สังเกตได้ว่ามีการใช้ ip address คนละตัวกันใน VM VirtualBox ทดลองรัน server โดยกำหนด ip ให้ของ VM VirtualBox ด้วยคำสั่ง
python manage.py runserver {หมายเลข ip address}:{หมายเลข port}
ทดลองใช้ browser เป็น google chrome ได้ผลคือสามารถดูวีดิโอได้ โดยเราเก็บไฟล์วีดิโอไว้ในคอมพิวเตอร์แล้วให้หน้าเว็บเรียกใช้ไฟล์วีดิโอนั้น
ภาพวีดิโอแสดงบนหน้าเว็บ
Adviser meeting 4/2/2559
สิ่งที่ดำเนินการไปแล้ว1.ศึกษาเรื่อง apphooks
2.ศึกษาเรื่อง Integration a third-party application
3. ทดลองแนวคิด video streamming
4. ทดลอง deploy app ขึ้น Docker-app
5. ซื้อ SD card สำหรับใช้ทดลองใน Raspberry pi
ปัญหาที่พบ
1. การทดลองแนวคิด video streamming ใน Raspberry pi ไม่สามารถติดตั้ง Flash player ได้และไม่สามารถติดตั้ง chromium browser ด้วยวิธีเดิมที่เคยทดลองได้
แต่ได้พบวิธีติดตั้งอีกวิธี
https://www.raspberrypi.org/forums/viewtopic.php?t=121195
โดยจะเริ่มทำการติดตั้งใน SD card ที่ทำการซื้อมาเอง
2. deploy app ขึ้น Docker-app ไม่สำเร็จ
สิ่งที่จะดำเนินการต่อ
1. ศึกษาเรื่อง Extending the toolbar
2. ศึกษาเรื่อง Extending the nevigation menu
3. ศึกษาเรื่อง Namespaced apphooks
4. แก้ไขการทดลอง video streamming โดยการใช้ Rasbian jessie สำหรับ Raspberry pi เพื่อลองติดตั้ง chromium browser และ Flash player
5. หาวิธี steamming video ที่ไม่ใช้งาน flash player
6. ลองติดตั้ง firefox browser บน Raspberry pi
7. ทดลอง deploy app ช่วงคนน้อยๆ
8. ลอง deploy app django app python3 helloworld หรือโปรเจ็คที่ใช้ python3
9. ตามงานเก่าแก้ไข usecase, diagram
10. นึกคำถามออกก็โพสลง blog
การทดลอง deploy django cms บน Docker-app
ทดลองโดยการเตรียม source code ของโปรเจ็คที่เราจะนำไปทดลอง deploy บน Docker-appทำการสร้าง user ใหม่โดยกดปุ่ม Join us แล้วกรอกข้อมูลลงไป โดยกำหนดให้รหัสผ่านไม่น้อยกว่า 8 ตัวอักษร
ทำการ login หลังจากนั้นจะพบหน้าไว้ใส่ชื่อโปรเจ็คกับ url ของโปรเจ็คซึ่งเป็น url ที่ใช้ clone project จาก bitbucket
จากการทดลองเรากรอกข้อมูลไป ดังนี้
จากนั้นเกิด error ดังนี้
ต่อมาเราทำการสร้างโปรเจ็คตัวอย่างอีกหนึ่งตัวแต่ใช้ mercurial เป็น version control แทนโปรเจ็คตัวอย่างอันเก่าที่ใช้ git ผลออกมาคือยัง deploy ไม่สำเร็จ และแสดง error ขึ้นมา ดังนี้
หลังจากนี้เราจึงไปสร้างโปรเจ็คอันใหม่มาโดยใช้ mercurial เป็น version control เราลองสร้างตัวอย่างโปรเจ็คที่เป็น python2.7 และ python3.4 เราสร้าง djangocms project ด้วย python2.7 โดยการติดตั้ง
pip install --upgrade ndg-httpsclient
และ
pip install urllib3
อ้างอิงจาก https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning
และ https://urllib3.readthedocs.org/en/latest/security.html#disabling-warnings
สมัครสมาชิก:
บทความ
(
Atom
)













