경고! 이 프로젝트는 기본 Agendash에 병합되었습니다. 이 git repo는 이제 더 이상 사용되지 않습니다.
vue.js로 작성된 검색 및 페이지 매김 기능을 갖춘 현대적이고 안전하며 안정적인 Agenda 대시보드
require(agendash)
require(agendash2)
으로 변경하세요. @hapi/@hapi
종속성을 위해서는 최소한의 Node.js 버전 12가 필요합니다(#23 참조).
더 빠른 정렬을 위해 다음 색인을 생성해야 할 수도 있습니다(#24 참조).
db.agendaJobs.ensureIndex({
"nextRunAt" : -1,
"lastRunAt" : -1,
"lastFinishedAt" : -1
}, "agendash2")
Software On The Road에서는 2017년부터 거의 모든 프로젝트에 의제와 의제를 사용해 왔지만 항상 한계가 있었습니다. 그리고 서버 미들웨어에서 발견된 심각한 보안 문제로 인해 우리는 의제를 포크하고 처음부터 다시 작성하기로 결정했습니다. 처음에는 기존 코드만 패치하려고 했지만 backbone.js로 작성되었기 때문에 vue.js를 사용하여 기존 기능을 다시 만드는 것이 학습에 더 많은 노력이 필요할 것입니다. 결국 이것은 페이지 매김과 검색 기능을 갖춘 단순한 CRUD일 뿐이며 화려하지는 않습니다.
npm install --save agendash2
참고 : Agendash
필요한 집계 쿼리를 수행하려면 mongodb 버전 >2.6.0이 필요합니다. 이것은 노드 패키지 버전이 아닌 Mongo 데이터베이스 버전입니다! 데이터베이스 버전을 확인하려면 mongo에 연결하고 db.version()
실행하세요.
Agendash2는 지정된 경로에서 사용할 수 있는 Express 미들웨어를 제공합니다. 예를 들어 이렇게 하면 Agendash2를 사이트의 /dash
경로에서 사용할 수 있습니다. 참고: app.use('/', Agendash(agenda))
와 같이 루트 수준에서 Agendash2를 마운트하려고 시도하지 마세요.
var express = require ( 'express' ) ;
var app = express ( ) ;
// ... your other express middleware like body-parser
var Agenda = require ( 'agenda' ) ;
var Agendash = require ( 'agendash2' ) ;
var agenda = new Agenda ( { db : { address : 'mongodb://127.0.0.1/agendaDb' } } ) ;
// or provide your own mongo client:
// var agenda = new Agenda({mongo: myMongoClient})
app . use ( '/dash' , Agendash ( agenda ) ) ;
// ... your other routes
// ... start your server
Agendash2를 특정 경로에 미들웨어로 탑재하면 해당 경로에 대한 고유한 인증을 제공할 수 있습니다. 예를 들어 Passport를 사용하여 인증된 세션이 있는 경우 다음과 같이 대시보드 경로를 보호할 수 있습니다.
app . use ( '/dash' ,
function ( req , res , next ) {
if ( ! req . user || ! req . user . is_admin ) {
res . send ( 401 ) ;
} else {
next ( ) ;
}
} ,
Agendash ( agenda )
) ;
다른 미들웨어는 곧 /lib/middlewares/
폴더에 추가될 예정입니다. 필요한 미들웨어를 요구하도록 마지막 줄을 업데이트하면 됩니다.
app . use ( '/agendash' , Agendash ( agenda , {
middleware : 'koa'
} ) ) ;
csurf
와 같은 CSRF 보호 미들웨어를 사용하는 경우 Agendash-route에 대해 이를 구성해야 할 수도 있습니다.
Agendash는 다음과 같이 사용할 수 있는 독립형 Express 앱과 함께 제공됩니다.
./node_modules/.bin/agendash2 --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001
또는 기본 컬렉션 agendaJobs
및 기본 포트 3000
의 경우 다음과 같습니다.
./node_modules/.bin/agendash2 --db=mongodb://localhost/agendaDb
npm >= 5.2를 사용하는 경우 npx를 사용할 수 있습니다.
npx agendash2 --db=mongodb://localhost/agendaDb --collection=agendaCollection --port=3001